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.