-         

Ergebnis 1 bis 4 von 4

Thema: CPI und BREQ funktionieren nicht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29

    CPI und BREQ funktionieren nicht

    Anzeige

    Hallo und frohe Weihnachten

    ich sitze jetzt bestimmt schon 2 Stunden vor dem Problem einen Vergleich durchzuführen ohne Erfolg.
    Und zwar habe ich auf dieser Seite http://www.dieelektronikerseite.de/u...lagsignale.htm diesen Beispielcode gefunden:
    Code:
    .include    "m8def.inc"
    
    Start:
        ldi     r16,0xFF
        out     DDRD,r16
    
        ldi     r16,127              ; Lade r16 mit 127
    
        cpi     r16,127              ; Vergleiche r16 mit 127
    
        breq    LED_on               ; Wenn Werte gleich, springe
    
    LED_off:
        ldi     r16,0b00000000
        out     PORTD,r16
    
        rjmp    Start
    
    LED_on:
    
        ldi     r16,0b00000001
    
        out     PORTD,r16
        rjmp    Start
    Dieser sollte ja rein theoretisch zu "LED_on" springen, da die zu vergleichenden Werte bei cdi ja gleich sind und im SREG das ZFLAG auf 0 sein müsste aber dem ist nicht so.
    Weder auf dem IC noch mit simulavr. Ich bin mit dem Debugger alles mal Schritt für Schritt durchgegangen und mir ist aufgefallem, dass (laut der oben genannten Seite) das 2 Bit von Rechts im SREG das ZFLAG ist. Dieses ist bei mir jedoch immer 1. Egal welche Vergleiche ich mit cdi durchführe..
    Woran kann das liegen? Ich bin total verwirrt momentan vor allem da ich da gerade erst einsteige.

    Gruß

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    Ich kenne mich mit Simulavr nicht aus, mit was hast du assembliert?
    Jedenfalls funktioniert dein Code mit AVR-Studio, das Z Flag wird in der CPI Zeile gesetzt und nach LED_on gesprungen.

    Grüße

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Kandel
    Alter
    29
    Beiträge
    1.220
    Zitat Zitat von Digital-Ghost Beitrag anzeigen
    Woran kann das liegen?
    Falsches HEX-File simuliert/gebrannt? Ich habe den Code gerade im AVR Studio getestet und er tut genau das was er soll.

    mfG
    Markus
    Tiny ASURO Library: Thread und sf.net Seite

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    13.11.2011
    Beiträge
    29
    Zitat Zitat von robocat Beitrag anzeigen
    Ich kenne mich mit Simulavr nicht aus, mit was hast du assembliert?
    Jedenfalls funktioniert dein Code mit AVR-Studio, das Z Flag wird in der CPI Zeile gesetzt und nach LED_on gesprungen.

    Grüße
    Also assembliert habe ich mit folgendem Script das ich in der ersten Zeile für Assembler angepasst habe


    VAR1="main"
    VAR2="Main"

    rm $VAR2".*"

    avr-as -o $VAR2".elf" -mmcu=atmega168 $VAR1".S"
    avr-objdump -h -S $VAR2.elf >$VAR2".lss"
    avr-objcopy -R .eeprom -O ihex $VAR2.elf $VAR2".hex"
    avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex $VAR2.elf $VAR2".eep"
    avrdude -c avrispmkII -p m168 -P USB -e -v -Uflash:w:$VAR2.hex:a


    Es funktioniert damit auch eigentlich alles bisher nur die bedingten Sprünge nicht das verwundert mich.

    - - - Aktualisiert - - -

    Der Simulavr braucht zum Debuggen die erzeugte .elf Datei und bei der Hex Datei bin ich mir sehr sicher das die gebrannt wurde da die alten bei jedem Scriptaufruf gelöscht werden.

    - - - Aktualisiert - - -

    Ich habe es gelöst bekommen!
    Es war ein Fehler das Script zur C Kompilierung auf Assembler anzupassen.
    Nachdem ich nur die Standardparameter für avr-as und avr-ld gesetzt habe gings.
    Da sieht man mal das das Script oben alles mitmacht

    Danke für eure Hilfe

Ähnliche Themen

  1. Antworten: 57
    Letzter Beitrag: 25.04.2013, 11:18
  2. Verständnisfrage: cpi vs. andi
    Von Kesandal im Forum Assembler-Programmierung
    Antworten: 5
    Letzter Beitrag: 05.07.2011, 00:14
  3. Tastatur und Lcd funktionieren nicht
    Von Janigut im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 03.05.2010, 08:17
  4. DS1820 und DCF77 Funktionieren nicht zusammen....Hilfe!
    Von mat-sche im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 28.10.2007, 08:35
  5. RN-Control - PC2 und PC3 funktionieren nicht richtig
    Von Dennis2006 im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 1
    Letzter Beitrag: 20.10.2006, 19:39

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •