Forum: Mikrocontroller und Digitale Elektronik Befehl funktioniert nicht


von Martin (Gast)


Lesenswert?

Hey ihr...

gegeben: lowbyte  = 0x3B
         highbyte = 0x01

Habe folgenden Befehl versucht:

SUBI highbyte, high(100)


allerdings passiert überhaupt nichts!

was ist falsch bzw. warum geht nicht??

Danke schon mal
von mmerten (Gast)


Lesenswert?

subi ist nur in Verbindung mit den Registern R16-R31 zulässig:

also:

subi  Rxx,WERT
von Martin (Gast)


Lesenswert?

ok

aber ich verwende das registerpaar XL, XH

was kann das sein??

Martin
von mmerten (Gast)


Lesenswert?

wenn du mit:
SUBI highbyte, high(100)
z.b.
SUBI XH,high(100) bzw. SUBI R31,high(100) meinst.
klar passiert da nix weiter, mit ausnahme das das C-Flag gelöscht wird, 
da ja das high-byte von 100 == 0 ist
und XH - 0 ergibt nun mal keine weitere änderung
von Martin (Gast)


Lesenswert?

aber wie muss ich vorgehen, denn wenn ich laut beispiel 2 mal 100 von 
dem Register subtrahiere dann müßte XH = 0 sein
von mmerten (Gast)


Lesenswert?

wenn du von XH 100 subtrahieren willst musst du

subi XH,100 codieren
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.