momentan beschäftige ich mich etwas mit PASM um es zu lernen. Ich versuche ein Zeichen in der oberen linken Ecke auszugeben, allerdings habe ich wohl einen gewaltigen Logikfehler in der Berechnung. Irgendwie habe ich gerade keine Ahnung wo der Fehler liegt.
Hier mal mein fehlerhafter Code:
Code: Alles auswählen
DAT
org 0
entry
mov ptr, PAR 'pointer
mov c, #$21 'zeichen setzen
mov color, #0 'farbwert setzen
mov reg_a, color 'spin: k := color << 1 + c & 1
shl reg_a, #1 '
mov reg_b, c '
and reg_b, #1 '
mov k, reg_b '
add k, reg_a '
mov i, #0 'spin: i := $8000 + (c & $FE) << 6 + k
and c, #$FE '
shl c, #6 '
add i, c '
add i, k '
shl i, #8 '
wrword i, ptr
or i, #$40
add ptr, #$40*2
wrword i, ptr
loop
jmp #loop
ptr res 1
k res 1
i res 1
reg_a res 1
reg_b res 1
c res 1
color res 1
Viele Grüße und schöne Ostertage,
Eric