Ergebnis 1 bis 5 von 5

Thema: Variablen richtig deklarieren (NASM)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Variablen richtig deklarieren (NASM)

    Das gibt es nicht. Ich suche nun schon ziemlich lange danach und habe sogar schon in einem anderen Programmiererforum nachgefragt, aber niemand scheint es zu wissen. Dabei ist es ein ganz kleines, unbedeutendes Problem:

    Wie deklariere ich bei NASM Variablen richtig?
    Ich möchte 56 Byte für einen String reservieren. Bei MASM geschieht das durch
    Code:
    derString db 56 dup (?)
    Das funktioniert bei NASM nicht. Ich habe folgende Anweisungen ausprobiert, aber keine hat funktioniert:
    Code:
    derString db 56 dup (?)
    derString db 56, dup (?)
    derString: db 56 dup (?)
    derString: db 56, dup (?)
    derString: db, 56, dup (?)
    Nichts zu machen. Die Standard-Fehlermeldung lautet "comma expected after operand 1" und wenn ich zuviele Kommas setzte "phase error at end of assembly". Das kann doch eigentlich nicht so schwer sein. >_<

    Nachtrag:
    Ich könnte es natürlich auch über
    Code:
    derString db 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
    mit 56 x machen, aber das wäre nicht sehr elegant.

  2. #2
    Ich kenn mich zwar kein bisschen mit NASM aus, aber hast du schonmal versucht, ein Komma nach derString zu machen?

  3. #3
    Zitat Zitat von DFYX
    Ich kenn mich zwar kein bisschen mit NASM aus, aber hast du schonmal versucht, ein Komma nach derString zu machen?
    Einen Versuch war es wert, aber das hat auch nicht funktioniert. Fehlermeldung: "error: parser: instruction expected".

  4. #4
    Dup gibt's soweit ich weiß nur bei MASM/TASM u.ä. Bei NASM muss man das anders machen:
    Code:
    datas resb 1024
    So werden 1024 Bytes freigehalten. Man kann natürlich auch andere Größen nutzen (resw. ...), siehe NASM Documatation für mehr Details. Achja, das ist für nicht-initialisierte Variablen. Ansonsten musst du times nutzen.

    freundliche Grüße, Rolus

    Geändert von Rolus (02.10.2006 um 18:19 Uhr)

  5. #5
    Danke, funktioniert wunderbar. ^^
    Die NASM-Dokumentation dürfte mir auch in anderen Fragen hilfreich sein.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •