Hallo Besucher, der Thread wurde 676 mal aufgerufen und enthält 3 Antworten

letzter Beitrag von kinzi am

Wieder eine Anfängerfrage

  • Hi,

    ich spiel gerade mal wieder mit Assembler rum und hab hier was merkwürdiges das ich mir nicht erklären kann:

    Folgender Code sollte alle 256 Zeichen am Anfang des Bildschirms ausgeben


    Code
    1. LDX $00
    2. loop:
    3. TXA
    4. STA $0400,X
    5. INX
    6. BNE loop
    7. RTS

    Aber da fehlen am Anfang die ganzen Sonderzeichen und eine Zeile bleibt leer. Wenn ich den BNE loop durch JMP loop ersetze geht es einwandfrei. Allerdings hab ich dann ja eine Endlosschleife.

    Wo liegt mein Denkfehler?


    Gruß Thomas

  • Das muss LDX #$00 heißen, denke ich.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • Ja, da stolpert man am Anfang gerne drüber ... ;)


    LDX $00 lädt den Inhalt der Speicherstelle 0 in X, im Falle des 6510 beim C64 ist das das Datenrichtungsregister des CPU-Ports. Dessen Inhalt ist normalerweise nicht 0, daher fängt das Programm irgendwo an.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.