Přidání rozšiřujících instrukcí do ASM51

Software potřebné k práci s elektronikou

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

Přidání rozšiřujících instrukcí do ASM51

#1 Příspěvek od Celeron »

Vážení, nevzpomenete prosím někdo, jak se do překladače se základním instrukčním souborem A51 přidají instrukce pro vyšší řady procíků Atmel, třeba AT89C55WD, 89S8253? Matně si pamatuju, že se "instrukce navíc" nějak definovaly v include souboru ale už nepamatuju jak a v jakým formátu.
Prostředí mám legální ale fy co to stvořila už neexistuje, takže podpora žádná.
Díky
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#2 Příspěvek od samec »

Prekladač musí vedieť, čo ktorá inštrukcia robí a aký má strojový kód. Takže len nejakou definíciou v hlavičkovom súbore to nepôjde. Jedine, že by si si nejakú špeciálnu inštrukciu nadefinoval pomocou bežných inštrukcií, ale tým zostanú špeciálne možnosti hardveru nevyužité.

p32
Příspěvky: 15069
Registrován: 13 led 2007, 01:00
Bydliště: Olomouc

#3 Příspěvek od p32 »

Přilinkovat knihovnu s těmi novými instrukcemi.

Uživatelský avatar
Bernard
Příspěvky: 3614
Registrován: 27 kvě 2005, 02:00

#4 Příspěvek od Bernard »

Tenkrát asi nešlo o nové instrukce, ale o další hardwarové prostředky nové verze procesoru. Ty se odrazily v přidaných registrech a bitech, a jejich adresy se definovaly symbolickými názvy v příslušném souboru. Příklad pro Dallas DS80C320 je v příloze.
Přílohy
REG320.zip
(1.74 KiB) Staženo 103 x

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#5 Příspěvek od termit256 »

V tom inc souboru byly jen definice registru, portu apod. Instrukce musi zvladnout prekladac.
Tady si stahni aktualni prekladac ktery MCU ktere pozadujes zvlada i vsechny inc soubory primo do vyrobce.
https://www.microchip.com/DevelopmentTo ... tNO/C51ASM
Osobne inc soubory nepouzivam, moc se mi to neosvedcilo. Je si ten text nakopiruju na zacatek souboru s kodem a nevznikaji zadne zmatky.

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#6 Příspěvek od Celeron »

Díky moc pánové, napsal jsem to blbě, definice registrů a bitů, který mají procíky proti původní Intelácký 8051.
Dík termite za tu C51ASM kde jsou i ty extend instrukce. Syntaxe používání extend DPTR je mi už jasná ale ty další extend dvoubytovky 0A5h,xxh, instrukce kolem extend skoků a MAC registru, na to zatím čumím jak vyvorná myš. :)
Jirka

Proč mi nemůže všechno chodit hned ?!!

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#7 Příspěvek od termit256 »

No s tim DPTR to zrovna moc nedoresili. Jako ze druhy DPTR se hodi a i moznost decrementace celeho registru neni spatna, ale kdyz napises DEC DPTR bez toho aniz bys predtim zmenil obsah registru urcujiciho jestli se bude snizovat nebo zvysovat obsah DPTR, provede tato instrukce INC DPTR, coz je ponekud matouci.

Uživatelský avatar
ZdenekHQ
Administrátor
Administrátor
Příspěvky: 25593
Registrován: 21 črc 2006, 02:00
Bydliště: skoro Brno
Kontaktovat uživatele:

#8 Příspěvek od ZdenekHQ »

Kdyby šlo jen o registry a bity, přikládám moji sbírku. Vloží se přes include do překladače a vypne se předdefinovaná sada, jinak se to pobije.

Já tam dávám:

Kód: Vybrat vše

$NOMOD51              		;disable predefined standard 8051 SFR symbols
$INCLUDE (MCU/nrf.mcu)   	;include SFR symbol definitions
$NOCOND
Přílohy
reg.zip
(79.51 KiB) Staženo 92 x
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?
]

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#9 Příspěvek od Celeron »

Pro Silabsový procíky s jádrem A51 jsi něco podobnýho někde neviděl?
Jirka

Proč mi nemůže všechno chodit hned ?!!

Odpovědět

Zpět na „Software“