auf der Fujiyama wollte ich eigentlich viel mehr Assembler programmieren und lernen... leider war zu wenig Zeit und zu viele andere wichtige Dinge.
Vielleicht hat jemand Lust hier auf dem Forum ein wenig mit mir zu lernen... da bin ich ja auch noch ganz blutiger Anfänger und mache jetzt erste Schritte!
Mein erster Schritt war natürlich eine "Hallo Welt!" Routine zu schreiben. Ich wollte dabei wirklich ohne die vorhandenen I/O-Routinen des Betriebssytems das selber auf den Bildschirm printen. Das ist zunächst relativ einfach, wenn man weiß, wo der Bildschirm anfängt: 40000 - bzw. in den Speicherstellen 88/89.
Nun wollte ich es aber so haben, daß das Programm 15 x "Hallo Welt!" untereinander (nicht nebeneinander) auf den Bildschirm printet. Eine nicht ganz einfache Aufgabe für den Start, muss ich sagen, aber wenn man das dann löst, hat man viel gelernt!! Hier nun meine (sicherlich echt für den Profi sehr holprige) Lösung - mit dem Aufruf: Wie bekommt man das noch schlanker, kürzer und eleganter hin??
Liebe Grüße
Peter
Code: Alles auswählen
org $4000
text .byte "Hallo Welt! "
var = 88
var2 = 89
var3 = $6000
start lda #0
sta var3
main ldy #0
ldx #0
loop1 lda text,x
sta (var),y
inx
iny
cpx #12
bne loop1
clc
ldy #0
ldx #0
lda var
adc #40
sta var
lda var2
adc #0
sta var2
ldx var3
inx
stx var3
cpx #15
bne main
loop3 jmp loop3
run start