MIPS Gedanken: Unterschied zwischen den Versionen

Aus Wiki CCC Göttingen
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „<highlightSyntax language="c"> ohne -O / mips32 9d004ad8 <main>: char c; int i; long l; int main(void) { 9d004ad8: 27bdfff8 …“)
 
Zeile 1: Zeile 1:
<highlightSyntax language="c">
+
<highlightSyntax language="txt">
 
ohne -O / mips32
 
ohne -O / mips32
  
Zeile 28: Zeile 28:
 
9d004b08:      af828010        sw      v0,-32752(gp)
 
9d004b08:      af828010        sw      v0,-32752(gp)
  
 +
 +
...
 +
}
  
 
-O2  
 
-O2  
Zeile 75: Zeile 78:
 
9d004b00:      6758            move    v0,t8
 
9d004b00:      6758            move    v0,t8
  
 +
 +
 +
...
 +
}
  
 
-O1 -mips16e
 
-O1 -mips16e
Zeile 98: Zeile 105:
 
9d004aea:      f010 db50      sw      v0,-32752(v1)
 
9d004aea:      f010 db50      sw      v0,-32752(v1)
 
9d004aee:      e8a0            jrc    ra
 
9d004aee:      e8a0            jrc    ra
 
+
...
 +
}
 
</highlightSyntax>
 
</highlightSyntax>

Version vom 13. August 2012, 12:43 Uhr

<highlightSyntax language="txt"> ohne -O / mips32

9d004ad8 <main>:

       char c;
       int  i;
       long l;

int main(void) { 9d004ad8: 27bdfff8 addiu sp,sp,-8 9d004adc: afbe0004 sw s8,4(sp) 9d004ae0: 03a0f021 move s8,sp


       c = SPI2BUF;

9d004ae4: 3c02bf80 lui v0,0xbf80 9d004ae8: 8c425a20 lw v0,23072(v0) 9d004aec: 7c021420 seb v0,v0 9d004af0: a3828018 sb v0,-32744(gp)

       i = SPI2BUF;

9d004af4: 3c02bf80 lui v0,0xbf80 9d004af8: 8c425a20 lw v0,23072(v0) 9d004afc: af828014 sw v0,-32748(gp)

       l = SPI2BUF;

9d004b00: 3c02bf80 lui v0,0xbf80 9d004b04: 8c425a20 lw v0,23072(v0) 9d004b08: af828010 sw v0,-32752(gp)


... }

-O2

       c = SPI2BUF;

9d004ad8: 3c02bf80 lui v0,0xbf80 9d004adc: 8c435a20 lw v1,23072(v0) 9d004ae0: a3838018 sb v1,-32744(gp)

       i = SPI2BUF;

9d004ae4: 8c435a20 lw v1,23072(v0) 9d004ae8: af838014 sw v1,-32748(gp)

       l = SPI2BUF;

9d004aec: 8c425a20 lw v0,23072(v0)


ohne -O / -mips16e

9d004ad8 <main>: 9d004ad8: 6491 save 8,s1

       char c;
       int  i;
       long l;

int main(void) { 9d004ada: 673d move s1,sp 9d004adc: 675c move v0,gp


       c = SPI2BUF;

9d004ade: 651a move t8,v0 9d004ae0: b20a lw v0,9d004b08 <main+0x30> 9d004ae2: 9a40 lw v0,0(v0) 9d004ae4: ea91 seb v0 9d004ae6: 6778 move v1,t8 9d004ae8: f010 c358 sb v0,-32744(v1) 9d004aec: b207 lw v0,9d004b08 <main+0x30>

       i = SPI2BUF;

9d004aee: 9a40 lw v0,0(v0) 9d004af0: 6778 move v1,t8 9d004af2: f010 db54 sw v0,-32748(v1) 9d004af6: b205 lw v0,9d004b08 <main+0x30>

       l = SPI2BUF;

9d004af8: 9a40 lw v0,0(v0) 9d004afa: 6778 move v1,t8 9d004afc: f010 db50 sw v0,-32752(v1) 9d004b00: 6758 move v0,t8


... }

-O1 -mips16e d004ad8 <main>:

       char c;
       int  i;
       long l;

int main(void) { 9d004ad8: 677c move v1,gp


       c = SPI2BUF;

9d004ada: b406 lw a0,9d004af0 <main+0x18> 9d004adc: 9c40 lw v0,0(a0) 9d004ade: f010 c358 sb v0,-32744(v1) 9d004ae2: 9c40 lw v0,0(a0)

       i = SPI2BUF;

9d004ae4: f010 db54 sw v0,-32748(v1) 9d004ae8: 9c40 lw v0,0(a0)

       l = SPI2BUF;

9d004aea: f010 db50 sw v0,-32752(v1) 9d004aee: e8a0 jrc ra ... } </highlightSyntax>