Beiträge von cbmhardware im Thema „label fehlermeldung.. asm fragen“

    Zitat

    Original von super_castle
    hallo, jetzt ist die sache so, wie ich es möchte.
    ich wusste nicht , das eine befehlskette auch ein label ist.

    Label, ja, "screenram = $0400" . Hatte etwas verwechselt. Bin eben auch nur Assembler Gelegenheitstaeter.

    Die Sprungmarken im Source muessten aber auch Labels sein ?

    Michael

    Zitat

    Original von super_castle
    screenram = $0400

    lda #0
    sta screenram

    Hier schreibst Du eine 0 nach $0400 (dez. 1024) = @


    Zitat


    lda #$05
    sta screenram+1

    Hier ein "E" nach $0401 (dez. 1025)


    Zitat


    lda Bitte melde dich an, um diesen Link zu sehen.
    ldy #0
    sta screenram,y

    Hier ein Pik-Zeichen nach $0400 (dez. 1024)


    Zitat


    an der stelle 0500 im bildschirm soll dann das zeichen 65 stehen, ich will den screenram beliebig mit der zeichenposition bestücken.



    Das im Codefenster sind 2 verschachtelte (ungeteste) Schleifen. Die aeussere kopiert die innere (256 Byte) vier mal.
    l0 und l1 sind Labels. Wenn nach dem ersten Durchlauf $0400+256Byte erreicht sind, muss das Hibyte erhoeht werden. Also aus $0400 wird $0500. Das geschieht hier durch sogenannten selbstmodifizierenden Code, da sich das Programm selbst veraendert.

    L1 STA $0400,X steht in der Bytefolge : Opcode, LowByte, Hibyte im Speicher : $9d $00 $04 .
    Bei inc (increment) L1+2 wird die $04 auf $05 erhoeht. That's all.

    Alle Klarheiten beseitigt ? ;)


    Michael

    Edit: Huch, RTS vergessen ..