ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000
Mikropočítač PMD-85 | Příslušenství k PMD-85
OCR návodu PMD 50
Emulátor jednočipových mikropočítačov radu 8048 je určený ako prídavný modul k osobnému mikropočítaču PMD 85-2 a PMD 85-3. Slúži na tvorbu, ladenie a simulovanie programu v strojovom kóde 8048. Emulátor obsahuje obvodové riešenie jednočipového mikropočítača a externou dátovou pamäťou. Zapojenie obsahuje adresnú, dátovú a riadiacu zbernicu, ku ktorej má prístup počítač PMD 85 aj jednočipový mikropočítač. Prístup ku zbernici je prostredníctvom stykových obvodov 8255.
V emulátore je umiestnený operačný systém v rozsahu 6 KB, ktorý sa po zapnutí zdroja PMD 85 zavedie do jeho operačnej pamäte.
Zavedenie operačného systému je pomocou príkazu:
JOB000020000000 |
V architektúre emulátora PMD 50 je obsiahnutý arbiter, ktorý rozhoduje v interpretácii inštrukcií mikropočítača 8048. Ďalej obsahuje pamäť zastavenia BREAK v rozsahu 1 KB. V prípade interpretovania programu nad 1 KB, arbiter vydá povel na prerušenie činnosti PMD 85 a ten naplní programovú pamäť RWM emulátora správnou stránkou. Ak arbiter vyhodnotí stav zastavenia od navolenej zarážky BREAK, vstupuje počítač PMD 85 do dialógového režimu. Jednočipový mikropočítač sa zastaví a jeho stav je prenesený do dátovej pamäte. Odtiaľ je tento stav /obsahy registrov a pod./ prenesený do operačnej pamäte PMD 85, kde je možné ho modifikovať a zobraziť na obrazovke monitora. Užívateľ má tak možnosť prehľadne sledovať vykonávanie inštrukcií mikropočítača 8048. Emulátor obsahuje obvody, ktoré vytvárajú zvýšené napätia, potrebné pre čítanie a programovanie obvodov 4748. Preto je nožné po odladení a emulovaní programu tento nahrať do internej pamäte EPROM mikropočitača 8748 v rozsahu 1 KB.
Operačný systém pozostáva z troch modulov: MON, EMU, PROG
Každý modul vykonáva činnosti, ktoré sa navaľujú prostredníctvom ↑K0 až ↑K10.
Emulátor PMD 50 zasunúť namiesto ROM modulu PMD 85. Zapnúť zdroj napájajúci PMD 85 a vypísať príkaz
JOB000020000000 |
Po odoslaní klávesou EOL sa na obrazovke monitora objaví nápis
PŘEPÍNAČE MOVX - A BEZ MOVX - N
Ak emulované zariadenie používa inštrukciu MOVX, stlačiť klávesu A, v opačnom prípade stlačiť klávesu N.
Na monitore sa objaví nápis
OUTL BUS A - A BEZ OUTL BUS A - N
Ak emulované zariadenie používa inštrukciu OUTL BUS stlačiť klávesu A, v opačnom prípade stlačiť klávesu N.
Na monitore sa objaví nápis
EXPANDER - A BEZ EXPANDERA - N
Ak je v emulovanom zariadení použitý expander, stlačiť klávesu A, v opačnom prípade stlačiť klávesu N. Uvedenými voľbami sa nastavia "prepínače" v emulátore do správneho stavu. V prípade správneho navolenia sa na monitore zobrazí základné ponukové menu činnosti:
SYSTEM MENU: 0*MON 1*EMU 2*PRG 3*CEN 4*OS SYS - 48 MENU [K?]
Jednotlivé činnosti navoliť nasledovným spôsobom:
činnosť MON | ↑K0 |
činnosť EMU | ↑K1 |
činnosť PROG | ↑K3 |
nevyužité | ↑K3 |
prechod do OS PMD 85 | ↑K4 |
Po navolení kľúčom ↑K0 sa na obrazovke objaví menu tejto činnosti a do pracovnej časti obrazovky sa zobrazí obsah časti programovej pamäte. Menu má nasledovný formát:
0*MOD 1*LST+ 2*LST- 3*ADR 4*INP 5*0UT 6*SYS MON - 48 MENU: [K?]
MON umožňuje:
po stlačení ↑K0 | - určuje spôsob výpisu dát do pracovnej časti obrazovky od počiatočnej adresy udanej pod kľúčom 3 ADR. Môže nadobudnúť 2 hodnoty |
zadať 00 | - výpis na formáte HEXA |
zadať 01 | - výpis na formáte ASM 48 |
príklad:
Zatlačiť ↑K0. Výpis dát z pracovnej časti obrazovky sa stratí a vpravo dole v hranatých zátvorkách sa objaví [K0]. Potom pomocou kláves 01 a odoslaní klávesou EOL sa navolí výpis na formáte ASM 48. Tým istým postupom, avšak namiesto kláves 01 zatlačiť 00 a odoslaní klávesou EOL sa výpis znovu zobrazí na formáte HEXA
po stlačení ↑K2 - stránkovanie pracovnej časti obrazovky po 256B nadol Zrušenie tohto režimu sa prevedie stlačením klávesy STOP.
po stlačení ↑K3 - navolenie adresy, od ktorej sa má uskutočniť daný výpis. Adresa musí byť zadaná ako štyri po sebe idúce HEXA znaky, pričem adresy vyššie než 1FFF sú vymaskované /oblasť 0000 - 1FFF/
po stlačení ↑K4 - vstup dát do virtuálnej programovej pamäte mikropočítača 8048 /adresa 1A00 pamäte PMD 85/. Túto programovú pamäť je možné napĺňať z troch zdrojov.
stačí uviesť ukladaciu adresu a za ňou dáta
príklad: ↑K4 XXXX.XXXX.... | +---- dáta +--------- adresa
Po odoslaní klávesou EOL sa objaví ďalšia ukladacia adresa. Keď nie je potrebné zadávať ďalšie dáta, stlačiť EOL ešte raz. Vypíše sa ERROR, čo však v tomto prípade nie je na závadu.
slúži pre transfer dát z ľubovoľnej časti pamäte PMD 85.
Syntax: ↑K4 Mxxxx - xxxx xxxx | | | +---- adr.odkiaľ z PMD | | +--------- adr.do | +---------------- adr.od +------------------ MOV
podmienkou je, že program bol predtým uložený príkazom OUT.
Syntax: ↑K4 Txx |+---- číslo hľadaného záznamu +----- Tape
po stlačení ↑K5 - činnosť výstupu dát
Sú možné tri spôsoby:
Syntax: ↑K5 Pxxxx - xxxx; komentár stránky | | +---- po adr. | +----------- od adr. +------------- Print
Presun navolenej oblasti z virtuálnej pamäte do ľubovoľnej oblasti operačnej pamäte PMD 85.
Syntax: ↑K5 Mxxxx – xxxx;xxxx | | | +---- ukladacia adresa PMD | | +--------- adr.po | +---------------- adr.od +------------------ MOV
Syntax: ↑K5 Txx xxxx.xxxx komentár | | | +---- pokiaľ | | +--------- odkiaľ | +------------ čís.záz. +-------------- Tape
Poznámka: z programových dôvodov je pri funkcii OUT na mag. adresa
"odkiaľ" v syntaxe príkazu nasledovná:
0000 zodpovedá 1A00
napr: treba uložiť záznam od adr.0000 po adr. 0100. V syntaxe príkazu OUT treba zadať namiesto 0000 adr.1A00
0000 adr.1B00
po stlačení ↑K6 - uskutočni sa návrat k prvotnému ponukovému menu
Po navolení kľúčom ↑K1 sa na obrazovke objaví menu tejto činnosti a do pracovnej časti obrazovky sa zobrazí obsah časti programovej pamäte na formáte inštrukcii ASM 48.
Menu má nasledovný formát :
0*MOD 1*BREAK 2*STP 3*JMP 4*RES 5*EDI 6*CON 7*LST 8*REG 9*DAT EMU - 48 MENU : [K?]
po stlačení ↑K0 - mód. Možno zadať tieto hodnoty
00 - jednoduchý režim krokovania po krokoch zadaných v parametri STEP
01 - beh programu so zastavením v bode udanom parametrom BREAK a s kontrolou dosiahnutia zadanej hodnoty registra, poprípade pamäťovej bunky dát
02 - detto aké v režime 01 len kontrola bude uskutočnená na zmenu hodnoty registra, poprípade pamäťovej bunky dát
03 - trasovanie programu s výpisom sledovaných registrov, poprípade dátových buniek
Príklady budú ukázané po objasnení ďalších činnosti
po stlačení ↑K1 - BREAK - nastavenie parametrov zastavenia programu 8048 môže mať nasledovné formáty:
$ xxxx +---- adresa R xxxx \|\| | +---- hod.reg. +------ adr.reg. M xxxx \|\| | +---- hodnota +------ Adr.dat.pam
Poznámka: pri chybnom zadaní nie je možný návrat a je nutné systém resetnúť
po stlačení ↑K2 - krok - jeho hodnota, ktorá sa nastaví, slúži pre výpočet nasledujúcej hodnoty BREAK
Poznámka: hodnota STEP sa neupravuje podlá tvaru inštrukcie, ale je to priamo zadaná hodnota užívateľom bez ohľadu na počet byte v inštrukcii
po stlačení ↑K3 - udáva adresu vykonávania nasledujúcej inštrukcie programu 8048. Súčasne slúži ako počiatočná adresa pre listovanie programu.
po stlačení ↑K4 - odštartovanie programu 8048 od adresy 0 a súčasné generovanie systémového RESET signálu.
po stlačení ↑K5 - EDI - modifikovanie obsahu registrov alebo pamäťových dátových buniek.
Syntax: Rxx xxxxxx... |\| \|\|\| | | | | +---- hod.pre danú adr.+2 | | | +------ hod.pre danú adr.+1 | | +-------- hod.pre danú adr | +----------- adr. +------------- R register +------------- M pamäť Akumulátor má adresu 41H PSW má adresu 40H
Špeciálnym prípadom editovania sú hodnoty parametra T Trace/
Syntax: Txx Rxx Rxx Rxx Rxx, Tracer počet výpisov Register adresa ďalšie tri parametre
po stlačení ↑K6 - tento príkaz používať až po príkaze RESET / ↑K4/. Slúži na pokračovanie programu od adresy v parametri JMP
po stlačení ↑K7 - v pracovnej časti sa zobrazí program od adresy udanej v parametri JMP
po stlačení ↑K8 - vyvolá zobrazenie obsahov vnútorných registrov 8048
po stlačení ↑K9 - vyvolá zobrazenie obsahu dátovej pamäte
Príklady použitia jednotlivých módov:
Mód 00 - uskutočnenie zostavenia na danej adrese
napr. program MOV A, AA 23AA INR R0 18 INR R1 19 INR R2 1A JMP program 0400
nastaviť hodnoty parametrov
+-------------------------+ | MOD BREAK STP JMP | +-------------------------+ 00 0003 0000 0000
Po zatlačení klávesy K4 sa daný program začne interpretovať od adresy 0000 a zastaví sa na adrese 0004. V ďalšej činnosti programu možno pokračovať stlačením ↑K6. Ak interpretujúci program "nenarazí" na adresu BREAK, nemôže dôjsť k zastaveniu. Prebiehanie programu možno zastaviť stlačením klávesy STOP. Špeciálnym prípadom zastavenia je zastavenie na daný kód inštrukcie. Vtedy ale treba do BREAK uložiť hodnoty v tejto postupnosti:
a. adresa prvého zastavenia $xxxx +---- adresa b. operačný kód I00xx +---- kód inštrukcie
Mód 01 - tá istá činnosť ako v móde 00, s tým rozdielom, že zastavenie nastáva pri dosiahnutí zadanej hodnoty registra, poprípade napäťovej bunky dát.
Zadavanie hodnôt parametra BREAK:
a/ adresa komparácie $ xxxx +---- adresa b/ žiadaná hodnota R xxxx alebo +---- adresa +---- hodnota M xxxx +---- hodnota
Mód 02 - podobné ako v móde 01, ale podmienkou zastavenia je zmena hodnoty registra alebo pamäťovej bunky
Mód 03 - umožňuje od navolenej adresy BREAK interpretáciu programu s možnosťou výpisu štyroch hodnôt navolených registrov, poprípade pamäťových buniek. Výpis sa uskutoční do pracovnej časti obrazovky. Poskytuje prehľad stavu mikropočítača. špeciálnym príkladom zastavenia výpisu pod TRACER je "narazenie" na inštrukcie vstupu dát z portov. V tomto prípade sa vykoná inštrukcia podľa programu, ale užívateľ môže zadať obsah vstupu priamo z klávesnice. Tomu umožňuje kontinuitu vykonávania programu 8048 i bez pripojenia okolia k nemu. Ide o tieto inštrukcie:
IN A, PORT |
INS A, BUS |
po stlačení ↑K10 - výstup do prvotného menu
Po navolení kľúčom ↑K2 sa na obrazovke objaví menu tejto činnosti:
Dané menu:
MEMORY TYPE: 0/8748 1/8048 2/2716 3/8708 0*TYPE 1*MODE 2*PAGE 3*TEST 4*READ 5*VERIFY 6*SYS 7*WRITE PRG – 48 MENU : [K?]
po stlačení ↑K0 - zadanie typu; prípustné sú iba typy 0 a 1, t.j. 8748 a 8048
po stlačení ↑K1 - nie je obsadené - nevyužité
po stlačení ↑K2 - nevyužité
po stlačení ↑K3 - testuje, či je pomäť v obvode "čistá.", Ak nie je, vypíše sa hlásenie ERROR
po stlačení ↑K4 - prečítanie obsahu internej pamäte 8748 do programovej oblasti
po stlačení ↑K5 - porovnanie obsahu internej pamäte 8748 s navolenou pamäťovou stránkou 1 KB
po stlačení ↑K7 - okamžité sa začína napaľovanie internej pamäte 8748 obsahom programovej pamäte. V ľavom dolnom rohu je zobrazovaná hodnota adresy, do ktorej sa pravé vykonáva napaľovanie. Po ukončení napaľovania je automaticky porovnávaná napálená hodnota s hodnotou správnou. V prípade chyby je vypísané hlásenie ERROR.
TESLA Bratislava, š.p.
Zmeny vyhradené
1 PV 123 67
Dodatok k návodu
Pri použití osobného mikropočítača PMD 85-3 s PMD 50 je potrebné uviesť PMD 85-3 do kompatibilného režimu s PMD 85-2 príkazom JUMP FFF0. Po vykonaní tohoto príkazu sa môže zaviesť operační systém emulátora podľa návodu.
Pre mikropočítače PMD 85-2, PMD 85-3 v spojení s emulátorom je nutné použiť zdroj PMD 10 . Pri použití zdroja EA 1605 ( ak emulátor nebude pracovať ) je potrebné nechať odborné nastaviť prúdovú poistku zdroja.
Pätica emulátora je orientovaná tak, že pinová jednotka je pri uvoľňovacej páčke.
Schéma PMD 50 a černobílá verze ZDE.
ÚVOD | Novinky | 8 Bitů | Příslušenství | Drobnosti | TTL | Kontakt
SAPI-1 | ONDRA | PMI-80 | PMD-85 | klony PMD-85 | klony SM50/40 | PETR | PLAN-80A | IQ151 | TNS | FK-1 | HVĚZDA | SP 830 | PCS 1-QR6000
Mikropočítač PMD-85 | Příslušenství k PMD-85