"verreisterNutzer" ist ein reservierter Name für gelöschte Accounts.
Sobald ein Account nicht mehr existiert, wird bei allen Beiträgen der vorherige Name durch "verreisterNutzer" ersetzt.

Du kannst zwar auf diese Profil zugreifen, allerdings wirst du nicht viel sehen ...
Um einen Löschung bzw. Anonymisierung vorzunehmen, musst du GF schriftlich per Mail anschreiben.

Ich habe Leute gesehen, die verreisterNutzer, oder verreisterNutzer5 oder so hießen...

"verreisterNutzer5" wäre kein gelöschter/anonymisierter GF-Account.

...zur Antwort

Du solltest deine Programme immer ordnungsgemäß beenden. Es gibt mehre Möglichkeiten, wenn du das ganze über Softwareinterrupts realisieren möchtest:

MOV ah, 4Ch
MOV al, 0    ;Status (optional)
INT 21h

Da du vermutlich ein Anfänger bist, würde ich dir von Stacks (aktuell noch) abraten.

Es gibt mehrere Möglichkeiten Register zu speichern:

  • Register in andere Register speichern (AX, BX, CX, DX, SI, DI)
  • Register in den RAM kopieren
  • Register auf den Stack legen

Der Stack gehört ebenfalls zum RAM!

Das ganze sollte dann ungefähr so aussehen:

Bild zum Beitrag

Meine kommentierte Lösung habe ich dir hier zur Verfügung gestellt:

https://pastebin.com/x8a1Ybdv

...zur Antwort

Ich nehme an das du mit "Profil" die Spielstände meinst?
Nun, in ACNL geht das nicht, du kannst lediglich einen neuen Bewohner in die bereits VORHANDENE Stadt hinzufügen.

Das man nur 1 Spielstand haben kann, ist meistens bei Spielen der Fall, die sehr "viel" speichern müssen Z.B. auch bei diversen Pokemon Spielen. Da wären einfach die Produktionskosten für damalige Verhältnisse zu hoch gewesen.

Es ist nicht ausgeschlossen das Entwickler auch andere Gründe haben.

...zur Antwort

Zu diesem "Fragezeichen-Symbol" das sind meistens Steuerzeichen (siehe ASCII-Code), "moderne" Betriebssysteme stellen diese dann meistens mit einem Fragezeichen-Symbol dar. Auf älteren Betriebssystemen (z.B MS-DOS) bekommt man andere Symbole ausgegeben, so konnte man auch das eine oder andere Spielchen im Textmodus schreiben!: https://theasciicode.com.ar/

Bevor ich deine Frage beantworte will ich dich wegen deinem Code-Stil loben, sehr übersichtlich! :)

Dein erwartetes Ergebnis ist das am Ende des Strings 0 ausgegeben wird, jedoch bekommst als Ergebnis "Müll".

Ausschlagebend ist diese Zeile:

mov [rax+rdi], rsi

Wenn du direkt 30h in rsi gibst, funktioniert das was du willst.Wie du vielleicht weißt ist es bei NASM & FASM so das '[...]' immer auf einen Speicherzugriff hindeutet.

MOV rsi, msg2         ;rsi = Adresse von msg2
MOV al, byte [msg2]   ;al= Inhalt von msg2, erstes Byte
MOV rsi, [msg2]       ;rsi = Inhalt von msg2, 8 Bytes

Ich bezweifle ob es wirklich nötig ist 8 Byte in rsi zu packen, wenn du doch nur 1 brauchst, aber das ist ein anderes Thema.

JEDOCH pass auf damit:

mov     [rax + rdi], rsi

Es besteht immer die Gefahr das du etwas überschreibst das du eigentlich nicht überschreiben willst (aussehr du willst wirklich 8 Bytes überschreiben!).

Ich finde es sehr cool wie du erstmal kleine Projekte umsetzt! Weiter so :)

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.