Forum: Compiler & IDEs Bug in avr-gcc?(zu große Konstante bei der disassembly)


von phanaton (Gast)


Lesenswert?

Hallo,

Ich meine einen Bug gefunden zu haben, ich bin mir aber nicht wirklich 
sicher denn das Programm läuft soweit, und er ist meiner Meinung nach so 
gravierend, dass er schon wesentlich früher aufgefallen wäre(weil fast 
jedes Programm nicht so laufen würde wie es sollte).

Also im instruction set steht zu den br** Befehlen, dass vom PC(Program 
Counter) aus um -64 ≤ k ≤ +63 gesprungen werden kann.
Ich hab jetzt allerdings(bei der Suche nach Optimierungsmöglichkeiten) 
in der *.lss Datei unter anderem folgendes gefunden, was mit der obigen 
Bedingung nicht wirklich übereinstimmt:
1
...
2
     d54:  f1 f6         brne  .-68       ; 0xd12 <fill_buffer+0x6a>
3
      {
4
        current_led_column_sd++;
5
     d56:  80 91 44 01   lds  r24, 0x0144
6
     d5a:  90 91 45 01   lds  r25, 0x0145
7
     d5e:  01 96         adiw  r24, 0x01  ; 1
8
     d60:  90 93 45 01   sts  0x0145, r25
9
     d64:  80 93 44 01   sts  0x0144, r24
10
11
        if(current_led_column_sd == pic_info.pic_length)
12
     d68:  20 91 d2 02   lds  r18, 0x02D2
13
     d6c:  30 91 d3 02   lds  r19, 0x02D3
14
     d70:  82 17         cp  r24, r18
15
     d72:  93 07         cpc  r25, r19
16
     d74:  71 f6         brne  .-100      ; 0xd12 <fill_buffer+0x6a>
17
...

Hat jemand eine Vermutung bzw. weis jemand was hier nicht stimmt(ich 
kann mir nach wie vor nicht wirklich vorstellen das, dass ein Bug 
ist...)

Weiterhin bei eigenen Assembler Stücken, die auf Sprungmarken ausserhalb 
dieses Bereiches zeigen, warnt der Gnu-assembler auch nicht, dass die 
Sprungmarke ausserhalb des Bereiches ist.

Gruß Philipp

von Stefan E. (sternst)


Lesenswert?

phanaton schrieb:
> Also im instruction set steht zu den br** Befehlen, dass vom PC(Program
> Counter) aus um -64 ≤ k ≤ +63 gesprungen werden kann.

Ja, k in Words.

phanaton schrieb:
> d54:  f1 f6         brne  .-68       ; 0xd12 <fill_buffer+0x6a>

-68 Bytes = -34 Words

Ich sehe kein Problem.

von phanaton (Gast)


Lesenswert?

An den Kopf klatsch

Danke, ich hatte zwar kurze Zeit vorher das Gleiche gedacht, hatte aber 
da anscheinend einen Denkfehler :) ...

Gruß Philipp

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.