Berechnungen wenn die Null eine Adresse ist

OP #4958774
Lesenswert?

Hallo!

Ich habe häufiger das Problem dass wenn ich Adressen berechnen will 
(Addieren oder Subtrahieren) ein anderes Startergebnis herauskommt. Ich 
vermute dass es an der Adresse "Null" liegt die ja im normalen 
Rechensystem nicht so in Erscheinung tritt.

Beispiel:
Startadresse wäre 00h, durch INC gehts 20 Mal weiter bis 13h. Wenn ich 
aber 20d (14h) subtrahiere, komme ich auf -1 !


Gibt es da einen Trick bzw. Methode doch auf das richtige Ergebnis zu 
kommen bei Adressberechnungen ? Ich ahne nichts Gutes, denn es gibt bei 
vielen Überläufen einen Haufen Nullen  :-)
OP #4958779
Lesenswert?

Klaus Dieter schrieb:
> H-G S. schrieb:
>> Startadresse wäre 00h, durch INC gehts 20 Mal weiter bis 13h.
>
> Wie geht das?

Ahhh..gerade beim ersten Kaffee heute ist mir eingefallen dass man da 
nur 19 Mal INCen tut  :-)

Aber das Problem mit der Null-Adresse kam öfter vor, weshalb ich beim 
Hex-Berechnen Probleme habe...

Ich möchte auf einem 4x20-LCD Speicherinhalte anzeigen und am Ende 
müsste ich 20 abziehen um wieder die Startadresse zu erhalten. Aber wie 
es scheint habe ich einmal zuviel geINCt in Gedanken.
OP #4958844
Lesenswert?

DirkB schrieb:
> Merk dir die Anfangsadresse.
> Nicht hin und her rechnen.

Dann brauche ich eine extra Variable im (internen 8051) Speicher - ich 
wollte mir die einsparen und einfach zurückrechnen.

So wie es aussieht werde ich beim scrollen durch den Speicher-Monitor eh 
eine Zeile (5 Adressen) abziehen oder addieren müssen immer. Oder ich 
scrolle gleich eine ganze Seite ... mal schauen.

Oder ich speichere die aktuell niedrigste Adresse in freien Registern.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren