Forum: Mikrocontroller und Digitale Elektronik atmega8, Anzahl der Instruktionen


von Daniel (Gast)


Lesenswert?

Hallo,

wenn ich das richtig verstanden habe, zählt Atmel seinen 
Programmspeicher
in Bytes. Dh Atmega8 hat 8kByte. Wenn das so ist, dann passen ungefähr
4k Instruktionen hinein. Ungefähr weil nicht alle Instruktionen 16 Bit
breit sind. Zumindest sehe ich gerade, dass CALL 32 Bit belegt.
Ich kenne mich etwas mit den Pics aus, die zählen dort nur Anzahl
der Instruktionen, die in den Flash passen. Die Angabe in Bytes wäre
bei da etwas umständlich, da PICs 12/14 Bit Instruktionsbreite haben.

Naja, grundsätzlich bedeutet es erstmal, dass man beim Atmel Flash
durch 2 teilen muss. Gibt es denn viele 32-Opcode Ausnahmen?
Gibt es auch 1Byte Befehle?

Grüsse, Daniel

von MeinerEiner (Gast)


Lesenswert?

Glaube, dass NOP z.B. ein 1-Byter ist...

von Falk B. (falk)


Lesenswert?

@  Daniel (Gast)

>in Bytes. Dh Atmega8 hat 8kByte.

Ja.

> Wenn das so ist, dann passen ungefähr
>4k Instruktionen hinein.

Ja.

>breit sind. Zumindest sehe ich gerade, dass CALL 32 Bit belegt.

Hat der Mega8 nicht.

>Naja, grundsätzlich bedeutet es erstmal, dass man beim Atmel Flash
>durch 2 teilen muss.

Jain.

> Gibt es denn viele 32-Opcode Ausnahmen?

Jain.

>Gibt es auch 1Byte Befehle?

Nein.

@  MeinerEiner (Gast)

>Glaube, dass NOP z.B. ein 1-Byter ist...

Irrtum, es gibt beim AVR keine 8 Bit Befehle.

MfG
Falk

von Stefan (Gast)


Lesenswert?

Hallo,

auch der NOP hat 16Bit / 2 Byte.

Gruß
Stefan

von Falk B. (falk)


Lesenswert?

Hmm, wie es scheint kennt der AVR nur 4 (VIER!) 32 Bit Befehle

CALL
JMP
LDS
STS

Erstere zwei haben nur AVRs mit >8kb FLASH.

MFG
Falk

von MeinerEiner (Gast)


Lesenswert?

Ach mist... die 1 bei NOP war dann die Anzahl der nötigen Takte?...

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.