INFORMATICA 4/1982 PROGRAMSKI SIMULATOR - KORAK K RAZVOJU M I KRORACUNA LN I S K I H APLIKACIJSKIH PROGRAMOV D. MILJAN, J. SILC, P. KOLBEZEN UDK: 681.3.06:519.682 INSTITUT „JOŽEF ŠTEFAN", LJUBLJANA Analiza cene razvoja računalniškega sistema ka2e, da veCji del cene odpade na razvoj programske podpore, zato je izredno pomembno, da ima razvijalec na voljo uCinkovite pripomoCke za razvoj programske podpore. V Blanku io nakazani nekateri primeri tovrstnih pripomoBkov. Natančneje je opisan pri nas razvit programski simulator za razvoj aplikacij z domaČim intearicanim mikroračunalnikom Iskra EMZ 1001. SOFTMARE SIMULATOR STEP IN DEVELOPMENT OF MICROCOMPUTER APPLICATION PROGRAM. Ti-ends in omputer svstem development costs 5how c|uite clearly that the major proportion of these oosts must be attributed to software design and implementation. Some microcomputer sottware development aids available to programmer are introduced. So£tware is reciuired both to eKecute a partioular application on a system and to assist in the development of neu softuare. Example of software simulator for Iskra EMZ 1001 single chip microcomputer is given. UVOD RaCun razvija smo pr Ce je b je om (progra ap1ikac program (editor povezov materi a vel ik Človek telepri alniSke li bodi ogram p i 1 a n j ogoCala mske ijskih sko opr alnik Ini opr pomni1 stroj nterja. progra si na raC isali, al egova konf uporabo in mater program emo mislim ustrezen n i n k e r) emi je os nik in s pom me unaln i na i g ur a P ialne ov. u pr novna moSno oCjo smo iku z njemu ci ja otrebn ) z Pod reje v a evajal Pri zaht st ko CRT ob a ka pod takS ra lec nik ra eva muni ja iCajno terega obnem, na, da opreme razvoj zvojno teksta in zvojni dovolj kači je ali Pr tovr pa pomn opre prob mikr pri apl i razv omej Razi proa 'več ugot stni smo ilni mo z lemi oraC ka kači ojni ili ike ramo je' ovit veC h p P Skeg a ra po unal teri jski h si na v P raC ev jih' r roblemo ogosto a prost zvoj ap stanejo nikih h reS h pro stemov. pod naCinu ri mik unalnik aCunal v, pr sooC ora in 1 ikaci akut (singl u jemo gramov V te roC je razv roraCu e izh niki i m eni re jski ni e P s m pr mi i jan naln h ob ikrora s P vnejSo h pro pri in chip roblem pom ispevk krorafl ja ap ikih ajajo iz iBajn Cunal omank peri gramo tegri compu ra oCjo u se unaln likat gled našle o m nikih anjem f erno v. Ti ranih ter) , zvoja t.i. bomo ikov, ivnih e na dn jih mikroprocesorje velikokrat uporabljamo za posebne namene v sklopu raiiunalnikov na eni tiskani ploSfii (single board computer) ali v sklopu posebno naCrtovanih vezij za posamezne aplikacije. TakSne minimalne raCunalniSke konfiguracije pbiCajno niso primerne za razvoj aplikativnih programov, načrtovalec mikroraCunalniSkih sistemov lahko v odvisnosti od tipa aplikacije izbira med razliCnimi tipi r,i!;rcprcc2=cr je". MnVnnut.. da bi za vsak od izbranih mikroprocesorjev imel svoj razvojni sistem z vso programsko in materialno podporo za razvoj aplikativnih programov, izkljuCujejo ekonomski razlogi. Kot je omenjeno, poznamo veC tipov razvojne opreme in postopkov za razvoj aplikativnih programov za mikroračunalnike. Nekatere reSitve nudijo proizvajalci raCunalniSke opreme, nekatere pa razvijajo uporabniki mikroprocesorjev sami. Razvojno opremo in postopke lahko razdelimo v nekaj kategorij ! i. Mikroračunalnik z osnovnim monitorjem v ROM pomnilniku. TakSen sistem daje moinosti za vpisovan aplikacijskega program Taksen monitor je lahko in testiranju manjSih 100 raCunalniSkih bese neuporaben pri veCjih temu, taksno opremo izključiti kot eno o pripomočkov i!e zaradi mikroprocesorjev, pri ka programske probleme monitorjem. uporabniku minimalne je in testiranje a preko terminala, koristen pri razvoju programov (do najveC d) in je praktiCno aplikacijah. Kljub ne smemo kar tako d možnih razvojnih zelo Široke uporabe teri vCasih reSujemo tudi s taksnim zbirnikom ii.Mikroračunalnik opremiien z In urejevalcem teksta. Programa lahko stalno zasedata del ROM pomnilnika mikroračunalnika ali se po potrebi preCitata iz papirnega traku v RAM pomnilnik. Tak sistem omogoCa pisanje in popravljanje aplikativnih programov v zbirnem jeziku in shranjevanje le-teh na papirni trak. Čeprav je to korak naprej od samega monitorja, Se zdaleC ni omogoCeno učinkovito aplikativno razvojno delo veCjih dimenzij. Dodatno nerodnost predstavlja prepisovanje zbirnika in urejevalca texta iz papirnega traku v RAM pomnilnik 58 nlkror«Ounalnika. ManJSo, a ne tako bistveno izboljttavo teg'a razvojnega sistema predstavlja nadomestitev sistema s papirnim trakom z sistemom z digitalno kaseto. Ui,R^ZYQ,1ni BJLste^, ,n,^,„ |;^ii;A„,MPora.ti,lJe".§q..a mikroprocesor 1^. Tak s omogoCa apllkaoi zbiranje izvirnih sistem p pri raz pomanjkl uporabni en tip a katero uporabni izbirati razlifine ne more istem, opremlje pisanje, poprav Jskega programa In prevajanj In prevedenih redetavlja ie ve voju apUkaolj, jivost (gled k a) in to je, ve li eno družino je razvojni s klh, ki Selijo med različnim aplIkacije, ta biti trajnareSi n z gibkimi diski, Ijanje in urejevanje . Nadalje omogotia Se e ter shranjevanje programov. TakSen latlvno moUno orodje ima pa eno ve(!jo ano s staliSCa zanost uporabnika na mikroprocesorjev, za istem zgrajen. Pri <.> / kretnic« rin RAM T\ dekoder BL V /_ 4— BOMS (J— RUN O— 55R nadzorna ^ , logika -{> STATUS -{> SVNC loscj—^ CLK akumulator Slika 1, Poleg etatianega emulatorja, kot samostojne enote in z motnostjo prikljudka na mikroraBunalnih Iskra Oata, ponuja Iskra Mikroelektronika, na osnovi primerno podanih specifikaoij pogodbeni prevzem izdelave programov in prototipov za posamezne uporabnike. LASTNI RAZVOJNI SISTEM Za veflje atevilo obsežnejših aplikacij B tem mikroračunalnikom potrebuje uporabnik vee programske in materialne razvojne opreme. Narekuje se razvoj lastnega razvojnega sistema. Ta naj bi flim vefl pripomogel k uflinkovitemu in hitremu razvoju aplikacij pri Oim boljSi uporabi Xe obstojefle opreme in z minimalnimi zadetnimi vlaganji. Slika 2. prikazuje primer takSnega razvojnega sistema pri katerem smo uporabili «e obstoječi raCunalnik LSI 11/23 in mlkroradunalnik na bazi mikroprocesorja Intel aoao. Postopek razvoja, aplikativnih programov je pri tem sistemu razdeljen na dve etapi i Delo na računalniku LSI 11/23, poleg standardne opreme (udi urejevalec teksta, prevajalniki, diski, uinohester disk, tisk CRT-prikazovalnik,..> opremljen kriSfnim zbirnikom za zbirni jezik C23 programskim simulatorjem mikroraCun EMZ 1001. V tej etapi se aplik program piSe, testira in popr dokumentira in shranjuje. Po kondan RE C8E3 reset mR (inioijalizaoija) b) Testne prekinitve izvajanja i BAA aaaaa T.p. pri osmifiki adresi 'aaaaa' BAD aaaaa T.p. pri osmifikero. podatku 'aaaaa' na A-linijah BDI dddC03CD3CHa T.p. pri instrukoiji 'ddd' BOD dddC03CD3[:H3 , T.p. pri V/I podatku 'ddd' BDL dddC03CDDCH3 T.p. pri zadržanem podatku 'ddd' S CTEP3 CdddCOaCO]CH33 T.p. po 'ddd' korakih ( instrukdl jah),, (Je število korakov ni podano, izvede 1 korak,. nadaljnje enokoradno izvajanje sproifi tipka 'presledek' NS prepoved koralnega izvajanja programa o) Kontrola izpisa na CRT i • TR . • izpisovanje tekoOih vrstio programa NT brez ispisovanja tekoOih vrstic programa M CEM03 CdddC03CD3CH]3 izpis 'ddd' vrstioe ali oelotne vsebine notranjega RAM-pomnilnika mR TZ resetiranjB Stevba Oasa d) Pomoifni ukazi i RA CMD vpis novih vrednosti v notranji RAM-pomnilnlk mR NE CM3 vpis novih vrednosti v notranje registre mR CO C(1A3 izpis vseh trenutno aktivnih ukazov CL CEA3 brlSe vse ukaze (zatietno stanje simulatorja) HE CLP3 izpis liste vseh ukazov za EMZ-Eimulator O CUT] izhod iz EMZ-eimulatorja LASTNOSTI PROGRAMSKEGA SIMULATORJA MIKRORAČUNALNIKA EMZ 1001 1. Pregled nad notranUmi registri Kot je razvidno iz slike A, so na CRT prikazovalniku stalno (v binarnem zapisu) prikazane vrednosti vseh notranjih registrov in sicer i , - akumulatorja (A) - splošnega registra SPS Dra* o oood 1 0000 2 0000 3 0000 4 0000 5 0000 6 0000 7 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 8 9 10 11 12 13 14 18 0000 0000 0000 0000 000« 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 oooc 000« oooc OOM 0000 MH 0000 0000 ika 5. Pri vsaki testni prekinitvi se na CRT-ju i!piee vrstica izvirnega programa (source line) pri kateri se je zgodila prekinitev. Na ta naBin se potek simulacije programa laSje spremlja tudi na 'listingu' aplikacijskega programa. Posebno kritiflne dele programa lahko uporabnik simulira po korakih s pomoBJo- ukaza 'STEP'. Isti ukaz oraogoBa testno prekinitev po poljubnem Številu izvedenih instrukoij simuliranega programa. 5. Simulacija programskih modulov Ukaz 'RUN' (Tabela 1.) omogoBa nastavitev poljubne vrednosti programskega Števca (znotraj naslovnega polja ROM pomnilnika) kar omogoBa simuliranje posameznih delov simuliranega programa. V primeru simuliranja posameznega programskega modula (podprograma) je obiBajno potrebno nastaviti nekatere zaBetne pogoje kot so: zaBetne vrednosti v doloBenih registrih in na doloBenih lokacijah RAM pomnilnika, vrednost Števca globine vgnezdenosti modula in raBunalniSki Bas. Na ta naBin lahko opazujemo (testiramo) delovanje posameznih modulov aplikacijskega programa, ki Jih v konCni fazi razvoja zdruitimo v skupni program. 7. Diagnostika Simulator opozarja uporabnika _(z izpisom na CRT) na odveBne 'PP'- instrukcije in na preskakovanje veB, v zaporedju programiranih 'LAI' in 'LB_' instrukcij. Simulacija se ustavi, Be se program zaBne z 'LAI' ali 'LB' instrukcijo, Be pride do prekoraBitve globine vgnezdenja podprogramov ( najveBja globina je 3) in Be Je prekorafieno naslovno podroBJe ROM pomnilnika. Simulacija se ustavi tudi, Be pri simuliranju 'INP' instrukcije O-vodilo ni bilo predhodno nastavljeno v nevtralno (Tri-state) stanje in Be pri odčitavanju 1 ali K vhodov le-ti niso bili predhodno pravilno naslovljeni. Pri vseh opozorilih in vstavitvah se na CRT izpiSe kratek opis napake in trenutna vrednost programskega Števca, pri kateri je ugotovljena napaka. Poleg opisanih možnosti simulatorja, zaradi laijega sledenje simulacije, lahko uporabnik z ukazi 'TR' in 'NT' (traoe / notrace) kontrolira izpisovanje vrstic simuliranega programa. Primer takSnega izpisa lahko vidimo na sliki 6. 63 ZAKLJUtiEK Razvojni sistem, ki prispevku je prestal popravke in ijbaljSave rezultate. Trud in Cas v izdelavo opisane pr opreme se izplaCata He flas razvoja aplika obflutno zmanjSa na tehniCnih in pr Ugotovili smo ie, d posredovanja vhodnih vpisuje uporabnik pr pri aplikacijah z ve podatkov. V takSnih pr vhodne podatke imeli v shranjena na poseb Nadaljnja uporaba r z novimi aplikacija zahteve pa dodatn materijalne kot progra LITERATURA C1] Materialna.in programska podpora za razvoj prototipov z integriranim fliikroraCunalnikom Iskra EMZ 1001 ; D.Miljan, P.Reinhardt, P.Kolbezen ; IJS Delavno poroCilo Dp-2^07, Ljubljana, december 1981. L21 Križni zbirnik na bazi makro ekspanzije za mikroračunalnik EMZ 1001 ; P.Reihardt, R.Reinhardt ; IJS Delovno poroCilo Dp-2^06, LJubljana, december 1981. je predstavi zatietna t ter pokazal ki sta bi ogramske in po .nekaj ap tivnih prog radun iskanj ogramerskih a je sedanj podatkov, eko CRT-ja likim etevil imerih je bol naprej pripr ni vhodni azvojnega s mi verjetno ih izboljga fflske opreme. jen esti poz la v mate lika ramo a b re a r ko nepr om v avl j dat iste pr vah v tem ranja, itivne lojena rialne cijah. se oljSih Sitev. eSitev le-te imerna hodnih fie bi ene in oteki. ma bo inesla tako C3D Projektiranje z integriranimi raBunalniki ; Davor Miljan ;• . Časopis Informatioa 4/1960, str.29-35. :A3 Mikroračunalnik EMZ 1001, katalog Iskra - Industrija elementov za elektroniko - Mikroelektronika, Izdala; Iskra Comraerce 09. 78. LSI Integrirani mikroračunalnik Iskra EMZ 1001 ; Du§an RaiC ; Časopis Informatica 1/1979, str.12-23. C63 Projektiranje z integriranimi mikroračunalniki i Davor Miljan ; IJS Delovna poroeiloDp-2146, Ljubljana, december 1980. C73 Microprocessors and software design tools; Keith D. Baker ; Microprocessors and micros/stems. Vol 3, No.2, March 79, page 87 - 93. CS] MicraSim - a neu appraach to program development 5,. David Cosserat ; Microprocessors and fflicrosysteins, Vol 3, No,2, Maroh 79, page 95 - 98. C9:] Designing with single chip microconputers Markus Maser ; . Microprocessors and oiicros/steiiis, Vol 3, No.3, April 79, page 135 - 139. C10] New generation of microsystein simulators F.U van Llnden ; Microprocessors and microsystems, Vol A, N0.I, jan/feb 80, page 5-9.