Huuhuu,
da dachte ich mir, schaust du dir mal assembler an und was macht man ? ein hello world.
dann wollte ich versuchen text frei zu positionieren. das klappe dann auch.
eine 2. zeile wäre auch nicht schlecht und die probleme fangen an
es wird immer nur line2 ausgegeben und bekomm nicht heraus wo line1 bleibt.
bräuchte also mal einen kleinen tip, wo ich da meinen denkfehler hab.
Code
- BSOUT = $ffd2
- BILDSCHIRM = $400
- *=$0801 ;*** Startadresse BASIC-Zeile
- !byte $0c, $08, $0a, $00, $9e, $20 ; 10 SYS
- !byte $34, $30, $39, $36, $00, $00 ; 4096
- !byte $00
- ;*** Beginn des Hauptprogramms
- *=$1000 ; Start 4096
- ; lda #147
- ; jsr BSOUT ; Bildschirm löschen
- _main
- POSITION = BILDSCHIRM
- MESSAGE = LINE1
- jsr _ausgabe
- POSITION = BILDSCHIRM + 80
- MESSAGE = LINE2
- jsr _ausgabe
- jmp _ende
- _ausgabe:
- ldx #0
- _loop
- lda MESSAGE,x ; Lade Wert von MESSAGE , Stelle x
- BEQ _fertig ; 0 ? -> _fertig
- and #$3f ; And verknüpfen
- sta POSITION,x ; auf Bildschirm Ausgeben
- inx ;
- jmp _loop ; zu _loop springen
- _fertig
- rts
- _ende:
- rts
- LINE1 !text "HELLO WORLD!",00
- LINE2 !text "!WORLD HELLO",00