- LiTime Speicher und Akkus         
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

    Praxistest und DIY Projekte
    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
    60
    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
  •  

LiTime Speicher und Akkus