PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interne Register und Register in SRAM



FoCus
27.07.2005, 09:14
Hi,
so wie ich das verstanden habe, liegen die general purpose Register nicht wirklich im SRAM, sondern werden virtuell in die unteren Zellen gemappt, liege ich da richtig?

Gruss
Michael

SprinterSB
27.07.2005, 09:35
Ja.
Ist aber eigentlich nicht interessant, ausser vielleicht wenn man via JTAG drauf zugreifen will.
Natürlich kann man auch von Assembler aus zugreifen.

80 91 03 00: lds r24, 3

Schreibt Inhalt an Adresse 3 (R3) nach R24

In C:

a = *((unsigned char*) 3);

FoCus
27.07.2005, 09:42
PS:
Irgendwo in der doku stand auch, dasss, wenn man aus dem Code aus direkt zugreifen will eine hex20 draufaddiert werden muss..

Oh das bezog sich auf die I/O -Register...
"[...]When adressing I/O Registers as data space using LD and ST instructions, $20 must be added to these addresses.[...]" (ATMega16 Complete Summary s.21)

Grüsse
Michael

SprinterSB
27.07.2005, 09:47
Klar, ich interessier mich ja auch wie's im Gedärm meines Controllers aussieht.
Das 'uninteressant' bezog sich eher auf die Applikationsebene, weil man auf Register ja unmittelbar zugreift.

PicNick
27.07.2005, 09:59
Wenn du in BasCom schreibst
DIM register13 as byte at &H0D
bist du mitten drin
Wenn du dir den Frame- oder Softstack ausleihen willst, isses gut zu wissen.

FoCus
27.07.2005, 10:25
Wenn du in BasCom schreibst
DIM register13 as byte at &H0D
bist du mitten drin
Wenn du dir den Frame- oder Softstack ausleihen willst, isses gut zu wissen.

-Bin kein Basic Programmierer, was bedeutet die Zeile denn?(Deklariere register 13 als byte an der adresse 0x0D?)
-Was ist ein Frame- oder Softstack? (Meinst du einen z.B. TCP/IP Stack oder Profistack?)

Gruss
Michael

PicNick
27.07.2005, 10:42
Kein BasCom ? sowas aber auch.
Nur wenn's dich trotzdem interessiert:
https://www.roboternetz.de/wiki/pmwiki.php?n=Main.Bascomstack

Stack = "Stapel" hat nix mit IP zu tun, is'n Address-Stapel

In C wär das so:
char* pRegister13 = 0x0D;

FoCus
27.07.2005, 10:58
Stack = "Stapel" hat nix mit IP zu tun, is'n Address-Stapel


Naja doch..
Beispiele wären z.B. TCP/IP-Stacks oder Profistacks, wie oben erwähnt, ich dachte sowas meinst du.
In dem Fall seht der begriff Stack für die verschiedenen Layer, die zur Verarbeitung zur verfügung stehen. In ihm wird sozusagen das Iso/Osi Referenzmodell softwaretechnisch, oder hardwaretechnisch abgebildet. IP ist dann quasi nurnoch ein Layer (Osi/Iso Layer3) im Stack.

Ein Beispiel in Verwendung mit einem ASIC findest du hier.. http://www.htwm.de/~lec/cgi-bin/twiki/view.cgi/Public/TcpIpStackAsic

Gruss
Michael

PicNick
27.07.2005, 11:17
Alles ok, Focus, das muß ich doch schonmal wo gehört haben.

Ich wollt' nur sagen, daß der Begriff "Stack" allein etwas ambivalent ist.
Wenn ein Spieler in Las Vegas seine Karten ablegt, ist das auch ein "Stack".

FoCus
27.07.2005, 12:06
*g* ok..ok

Danke euch..
Gruss
Michaeel