Vad menas med ds

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
AMP
EF Sponsor
Inlägg: 204
Blev medlem: 3 november 2004, 12:10:26

Vad menas med ds

Inlägg av AMP »

hej jag undrar vad ds görförnågot? När det står upp radat som här nedanför. Någon som vet var det står förklarat? koden är till en pic.

Kod: Markera allt

wsave	ds	1
ssave	ds	1
icount	ds	1
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Känner inte igen "ds" på rak arm.
Kan du visa lite mer kring ditt exempel ?
Processor ? Var kommer källkoden från ?
monstrum
Inlägg: 620
Blev medlem: 13 januari 2005, 05:38:32
Ort: Göteborg

Inlägg av monstrum »

Är inte helt säker hur det är med PIC-assembler, men jag skulle göra en kvalificerad gissning på att man i kodstycket allokerar tre minnesaddresser och definierar dessa som variabelnamn.
AMP
EF Sponsor
Inlägg: 204
Blev medlem: 3 november 2004, 12:10:26

Inlägg av AMP »

Koden är skriven till en pic16f870. Och är hämtad från det här projectet .
http://members.cox.net/berniekm/super.html
Hela källkoden kan man ladda ner här http://members.cox.net/berniekm/super.src.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

OK. Nyckel på killens hemsida är :

"For anyone interested, the Source Code and Object Code are available along with my own PIC assembler."

Alltså, har har skrivit något egen assembler med lite egna kommandon/direktiv.
Jäkligt korkat, är väll det minsta man kan säga.

Dock, jag ser inte att det skulle ta mer än ett par timmar att "renskriva"
hans källkod till korrekt PIC assembler...
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Inlägg av rehnmaak »

Jag känner igen detta från assemblers till 68k. "ds" står för "define storage" och operanden "1" betyder hur många bytes som ska allokeras.

I din kod betyder det alltså att du definerar tre minnespositioner med namnen "wsave", "ssave" och "icount" om 1 byte vardera.
AMP
EF Sponsor
Inlägg: 204
Blev medlem: 3 november 2004, 12:10:26

Inlägg av AMP »

ok tackar så mycket för svaren!
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Notera bara att det inte bara är "ds" som behöver justeras
för att få det till normnal MPASM syntax. Enklast är bara att
köra igenom en gång så kommer MPASM att ge dig en
snygg "to-do" lista... :-)
DVC
Inlägg: 4
Blev medlem: 22 januari 2006, 11:24:32
Ort: Umeå

Inlägg av DVC »

"ds" är ett assemblerdirektiv som gör att man slkapar en "lucka" i programkoden.
ds= define space

ifall man ger ett namn används det tex för variabler som i exemplet.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Helt fel.
Användarvisningsbild
Icecap
Inlägg: 26629
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

DVC: helt fel! DS är kompilerdirektivet för (som skrivit tidigare) 'Define Storage' och talet efter anger hur många bytes som ska allokeras.
DVC
Inlägg: 4
Blev medlem: 22 januari 2006, 11:24:32
Ort: Umeå

Inlägg av DVC »

Visst är det så som ni säger... utdrag från pseudo-op'arna i manualen till en assembler jag använt:
The instruction

DS expr

Increments the location counter with the value of the arithmetic experession.
It may also be used, by combination with ORG instructions, to manage the
internal RAM memory (DS: Define Storage).

:oops:
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> ...manualen till en assembler jag använt...

En PIC-assembler manual ??
sm5uiu
Inlägg: 14
Blev medlem: 8 mars 2005, 23:29:01

Inlägg av sm5uiu »

Kolla i MPASM hjälpen - där står alla för mpasm speciella kommandon listade..
:roll:
73 de Sam
Användarvisningsbild
Icecap
Inlägg: 26629
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Och som det framgick var kommandot från en "egennbyggd" PIC-assembler....
Skriv svar