-         
Ergebnis 1 bis 7 von 7

Thema: Zahl vergleichen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.01.2007
    Beiträge
    27

    Zahl vergleichen

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    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

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2006
    Beiträge
    1.178
    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

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    07.01.2007
    Beiträge
    27
    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 ?

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2006
    Beiträge
    1.178
    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

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    07.01.2007
    Beiträge
    27
    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!

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    09.05.2006
    Beiträge
    1.178
    ich kann eigentlich kein C .. und eigentlich poste ich hier grad garnicht..
    eigenlitch kann ich nur meinen (GTR) taschenrechner programmieren
    GrußundTschüß \/
    ~Jürgen

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.02.2006
    Alter
    54
    Beiträge
    114
    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
  •