Grösser oder gleich 10'000

Gast #3032
Lesenswert?
• ▲
▼
so wie's aussieht gibt's da keine funktion für...

ich würd (vielleicht) einfach 10000 von den registern abziehen.

also seien die regs wieder Xh und XL.

10'000=0x2710

dann ziehste 0x27 von XH ab, und dann 0x10+Carry von XL. dann checkst du 
das Zero-Flag. Wenn das gesetzt ist, war die zahl in XH:XL gleich 
10'000. Wenn das carry flag gesetzt ist (dann ist XL untergelaufen), war 
die zahl größer.

vielleicht geht's einfacher, wenn also jemand ne idee hat, würd mich 
auch interessieren.

Gute n8
Gast #3033
Lesenswert?
• ▲
▼
>Wenn das carry flag gesetzt ist (dann ist XL untergelaufen), war die zahl größer.

es muss natürlich heißen:

Wenn das carry flag gesetzt ist (dann ist XL untergelaufen), war die 
zahl kleiner, wenn beide flags (Z und C) nicht gesetzt sind, war die 
zahl größer als 10'000.
Gast #3037
Lesenswert?
• ▲
▼
Vielen Dank für die Antwort!!!!

Jedoch funzt es bei mir immer noch nicht, ist es nicht so, dass der BRLO 
Befehl springt, wenn das Carry Bit gesetzt ist???
Das Carry Bit wird also nur abhängig vom High Byte gesetzt!!! Darum 
erkennt diese Abfrage diese 10'000 nicht!!!!

Oder sehe ich das falsch???

Vielen Dank!

Izoard
Gast #3041
Lesenswert?
• ▲
▼
ich habe nun den Vergleichs- Wert um eins verkleinert, nun spring er 
auch, wenn es gleich ist....

Noch eine Frage:

Wenn ich nun das ganze mit 100 machen möchte,
könnte ich doch mit dem CPI XL, 0x64 vergleichen und dann mit BRSH 
springen???? Wieso geht das bei mir nicht???

Funktioniert CPI mit XL nicht???'

IZo

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