Brauche Hilfe! Mikrocontroller HCS12

OP #1915541
Lesenswert?
• ▲
▼
Hallo,
ich beginne grade mit der programmierung von Mikrocontrollern.
Bei uns wird der Mikrocontroller HCS12 verwendet.
Ich habe ein problem bei einer Übungsaufgabe:
Ich möchte ein Programm schreiben das ab Adresse $2000 im Speicher steht 
und die Tabelle in den Speicher ab Adresse $3000 umkopiert. Das Programm 
soll enden sobald eine Null in der Tabelle auftaucht.
Das habe ich noch hinbekommen:

; free ram:  $3000 - $3FFF
; program:  $2000 - $2FFF
; monitor:  $1000 - $1FFF
; stack:  $0800 - $0FFE

org $2000
ldx #tab1
ldy #$3000
loop: tst 0,x
beq ende
movb 1,x+,1,y+
bra loop

ende: nop


tab1: dc.b $1111
dc.b $2222
dc.b $3333
dc.b $4444
dc.b $5555
dc.b $6666
dc.b $0000

end

dieses Programm funktioniert auch aber nur eben bis zur 0
die weitere Aufgabe besteht darin das programm umzuschreiben sodas die 
null a)Mitkopiert wird und b)nicht mitkopiert wird

hier liegt mein problem ich hab leider keine idee wie das klappen 
könnte.
Hat jemand eine Idee?

vielen Dank im Vorraus
Gast #1915745
Lesenswert?
• ▲
▼
Matt Hias schrieb:
> .. dc.b durch dc.w ersetzen oder?

würde ich auch vermuten. Sollte aber der Assembler schon reklamieren.
Du sagst es sind 2-Byte Werte, brichst aber bei einem 0-Byte ab.
Was wäre da z.B. mit einem Wert von $0012 oder $1200 ?


2-Byte Werte kopieren ohne letztes 0-Wort:

org $2000
ldx #tab1
ldy #$3000
loop: ldd 2,x+
beq ende
std 2,y+
bra loop

ende: bra ende


2-Byte Werte kopieren mit letztem 0-Wort:

org $2000
ldx #tab1
ldy #$3000
loop: ldd 2,x+
std 2,y+
bne loop

ende: bra ende

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.