Archiv verlassen und diese Seite im Standarddesign anzeigen : 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
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 O:)
(C und son schmarrn ;-) )
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 ?
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/assemble/befehle.html#flags
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!
ich kann eigentlich kein C .. und eigentlich poste ich hier grad garnicht..
eigenlitch kann ich nur meinen (GTR) taschenrechner programmieren :-b
phaidros
08.02.2007, 22:23
Auf dieser Seite
http://www.piclist.com/techref/microchip/compcon.htm
wird es ausführlich mit Beispielen in Assembler erklärt.
Have Fun
Phaidros
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.