-
-
Neuer Benutzer
Öfters hier
Zahl vergleichen
Hallo,
PsiQ hat einen Thread aufgemacht in dem er Checkt ob eine Zahl größer ist als eine andere.
Was ist wenn ich fragen will ob eine Zahl = der anderen ist?
zB.:
TI = 0 ?
Ja:
RETURN
Nein:
DECF TI,F ; verringere TI um Eins
INCF TP,F ; verhöhe TP um Eins
-
Erfahrener Benutzer
Roboter Genie
mach ein reset der Zero-Flag
anschließend zieh' beide zahlen voneinander ab.
wenn dann das zero flag gesetzt wird, waren se exakt gleich groß. dann kommt nämlich null raus..
wenns zero-flag nicht gesetzt wird:
in kombination mit dem carryflag kannst du dann noch feststellen welche größer als die andere ist, und dementsprechend ändern
edit:
Zero flag löschen Z=0
Carryflag setzen auf C=1
;A-B = ?
A-B = 0 => Z=1 , => A ist gleich B
oder
;A-B = ?
A-B = ?? , Z=0 ,C=0
=> B ist größer als A , es gibt ein negatives ergebnis, deswegen wird C auf 0 gesetzt
oder
;A-B = ?
A-B = ?? , Z=0 , C=1
=> Ergebnis ist größer null, also ist A größer als B
noch weiter im detail wird mir jetzt zu zeitintesnsiv,
ich lern grad info 1, was ich nicht wirklich kann
(C und son schmarrn )
Gruß
undTschüß \
/
~Jürgen
-
Neuer Benutzer
Öfters hier
danke erstmal =) aber ich versteh nicht was du mit Zero-Flag meinst.
carryflag / carrybit kenn ich nur von rotate left/right.
kannste vlt lösungs code schreiben ?
-
Erfahrener Benutzer
Roboter Genie
das carryflag wird von 0 auf 1 gesetzt wenn du nach oben hin nen überlauf hast
das carryflag wird von 1 auf 0 gesetzt wenn du nen überlauf nach unten (ins negative) hast.
das zero flag wird nur (von 0 auf 1) gesetzt, wenn exakt null rauskommt.
wenn dus bis moin abend nicht hinbekommen hast, schau ich mal ..
zurück zum zahlensysteme umtrechnen...
(das edit oben haste gesehen?)
edit2:
siehe da:
http://www.sprut.de/electronic/pic/a...hle.html#flags
Gruß
undTschüß \
/
~Jürgen
-
Neuer Benutzer
Öfters hier
danke !
ich glaub jetzt hab ichs verstanden =)
muss das halt in assembler programmieren is nicht so toll wie c/c++
viel spass beim Lernen und nochma THX!
-
Erfahrener Benutzer
Roboter Genie
ich kann eigentlich kein C .. und eigentlich poste ich hier grad garnicht..
eigenlitch kann ich nur meinen (GTR) taschenrechner programmieren
Gruß
undTschüß \
/
~Jürgen
-
Erfahrener Benutzer
Fleißiges Mitglied
Auf dieser Seite
http://www.piclist.com/techref/microchip/compcon.htm
wird es ausführlich mit Beispielen in Assembler erklärt.
Have Fun
Phaidros
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen