Frage zu 16 Bit Zahlen in 6502 Assembler

Bild Alles zum Thema Programmierung
Bild All around programming

Moderatoren: Sven, Sleepy, Wolfgang, cas, des-or-mad

Frage zu 16 Bit Zahlen in 6502 Assembler

Beitragvon 8bitjunkie » Mi 19. Jun 2013, 20:10

Hallo Zusammen,

ich stehe grade mit meinem Kopf vor ner massiven Wand, die passt leider nicht in mein Traumland :cry:

Ich habe eine Adresse stehen in sagen wir mal $Ce und $CF (Soll ein Pointer zu einer Datenstruktur sein)

Nun möchte ich (mehrmals) einen Wert (z.B, eine 9 ) zu diesem Pointer, also zu der Adresse in $CE/$CF dazuzählen.

Irgendwann gibt es im low-Byte ja einen Überlauf, und ich müsste das abfangen, und das Highbyte um 1 erhöhen und das Lowbyte entsprechend verringern.

Wie macht man das am elegantesten?

1000 Dank!
Thomas
1990: Masterblazer Amiga / 1992: Renegades Amiga / 1993: Dimo's Quest Amiga
2014: Dimo's Quest in ABBUC Land
2015: Leveldisk "NYD" für Dimo's Quest in ABBUC Land / Dimo's Quest Lurch Edition
2016: GetUp! / Dimo's Dungeon
Benutzeravatar
8bitjunkie
Super Poster
Super Poster
 
Beiträge: 917
Registriert: Di 6. Mär 2012, 13:54
Wohnort: Bad Oeynhausen

Re: Frage zu 16 Bit Zahlen in 6502 Assembler

Beitragvon 8bitjunkie » Mi 19. Jun 2013, 22:46

Das habe ich mir überlegt.
Scheint zu funktionieren, aber geht das noch "kürzer" / "eleganter" ?

lda #9
clc
adc $CE
bcc weiter
inc $CF
weiter:
1990: Masterblazer Amiga / 1992: Renegades Amiga / 1993: Dimo's Quest Amiga
2014: Dimo's Quest in ABBUC Land
2015: Leveldisk "NYD" für Dimo's Quest in ABBUC Land / Dimo's Quest Lurch Edition
2016: GetUp! / Dimo's Dungeon
Benutzeravatar
8bitjunkie
Super Poster
Super Poster
 
Beiträge: 917
Registriert: Di 6. Mär 2012, 13:54
Wohnort: Bad Oeynhausen

Re: Frage zu 16 Bit Zahlen in 6502 Assembler

Beitragvon Bernd » Do 20. Jun 2013, 06:21

8bitjunkie hat geschrieben:Das habe ich mir überlegt.
Scheint zu funktionieren, aber geht das noch "kürzer" / "eleganter" ?

lda #9
clc
adc $CE
bcc weiter
inc $CF
weiter:


Ich würde es auch so machen, kürzer wird es nicht werden. Es fehlt aber etwas, die errechnete Low Adresse sollte man speichern, der Zeiger steht noch auf dem alten Wert.

lda #9
clc
adc $CE
sta $CE. -> speichern
bcc weiter
inc $CF
weiter:
Bernd
Night&Day Poster
Night&Day Poster
 
Beiträge: 2837
Registriert: Do 1. Jan 1970, 01:00

Re: Frage zu 16 Bit Zahlen in 6502 Assembler

Beitragvon 8bitjunkie » Do 20. Jun 2013, 12:05

Hallo Bernd,

ach ja, stimmt natürlich :-)

Danke sehr!
1990: Masterblazer Amiga / 1992: Renegades Amiga / 1993: Dimo's Quest Amiga
2014: Dimo's Quest in ABBUC Land
2015: Leveldisk "NYD" für Dimo's Quest in ABBUC Land / Dimo's Quest Lurch Edition
2016: GetUp! / Dimo's Dungeon
Benutzeravatar
8bitjunkie
Super Poster
Super Poster
 
Beiträge: 917
Registriert: Di 6. Mär 2012, 13:54
Wohnort: Bad Oeynhausen


Zurück zu Programmierung



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron