Konference: SAPI-1 a československé mikropočítače
Od: | Jiri Biba |
Datum: | 6.11.2011 10:02 |
Předmět: | RE: Chyba M80?? |
Ahoj Romane! No to je dobry s tema cislama registru! Akorat jak se boha jeho rozlisuje M, SP a PSW, kdyz jsou vsechny za 6 ? Rekl bych ze tohle psal primo Bill, jeste kdyz sedel v garazi. -:)) A ze v tech kokotinach pokracuje Mrkvosoft dodnes.-:)) U M80 prepnutym pomoci .Z80 to umi taky? Co vidis za uzitecnyho na ty instrukci jako operand? -:) Ja jen dalsi zmatek. Resil jsem ted obsluhu "pseudo" realnyho casu na Sapi1 desce RTC-1. Je to 20 bitovej citac (5 Cmosu ala 74193 za sebou), ktery se plni z generatoru 0,5HZ (dvousekundy) a vse jede na zalozni baterku. Do citace se vejde asi 23 dni. Ja to pouzivam jen jako tydeni casovac. Vycitani a prevod tech 20 bitu na cas jsem resil tak, ze od hodnoty citace odcitam pocet dvousekund co ma den, dokud neni CY. Takze mam den. Z toho co zbyde odecitam pocet dvousekund co ma hodina, zase dokud neni CY, mam pak hodinu. Z toho co zbyde, zase odecitam pocet dvousekund co ma minuta, tim ziskam minuty. No a zbytek jsou dvousekundy. Pri zapisu opacne, do tech 20 bitu zase pricitam den * pocet dvousekund dne, hodina * pocet dvousekund hodiny atd. Cely to chodi jak ma, jen je problem, ze pri preteceni toho 20 bitovyho citace v dobe chodu na baterku to ztrati hodnotu spravnyho casu(jede znova od 0 a HW nezajisti o tom zadnou informaci). Problem je, ze jak je to delany tim postupnym odecitanim ci pricitanim, tak kdyz jses v poslednim dnu tydne 23:59:59 tak to musi udelat kolem 4100 odcitacich a nebo scitacich cyklu, kazdy ma kolem 10 instrukci, kazda prumerne 10 cyklu, takze by to mohlo byt u neceho rychlostni omezeni. Nenapada te prosim nejaka metoda jak to delat jinak? Ja tohle napsal na zaklade prvniho zpusobu, co me napadl. -:) Hlavne to prosim nepis, ta deska ma urcita omezeni a RTC mam vyresen specialnim svabem uplne jinak, tohle jsem psal jen tak ze zajmu. Diky Jirka -----Original Message----- From: Roman Bórik (sapi tu byla ta zakroucena vec pandora.cz) [mailto:roman.borik tu byla ta zakroucena vec netkosice.sk] Sent: Saturday, November 05, 2011 11:57 AM To: Konference "SAPI-1 a československé mikropočítače" Subject: Re: Chyba M80?? Nie je to chyba M80, ale jeho vlastnosť (It is not a bug, it's a feature :-). Ale súhlasím, že je to viac matúce, ako užitočné. Mnohokrát sa mi stalo, že som pri všeliakých úpravách a optimalizáciách napísal napr. MOV A,2 a potom som sa čudoval, prečo mi program robí psie kusy... M80 to preložil ako MOV A,D (7Ah), ale ja som pochopiteľne chcel MVI A,2 (3Eh 02h). Nedávno som na Aukre získal knihu "Operační systém CP/M, Příručka programátora, TESLA ELTOS, 1985, 2. vydanie 1988", kde je k formátu zdrojového textu pre M80 uvedené, že mená registrov sú rezervované mená, ale zároveň majú priradené nasledujúce hodnoty: B C D E H L M SP PSW A 0 1 2 3 4 5 6 6 6 7 Takže to je dôvod, prečo pri "chybnom" zápise M80 nekričí. Užitočnou vlastnosťou M80 je ale napr. to, že ako operand môže byť použitý názov inštrukcie, napr.: MVI A,(LXI H), čo sa preloží ako MVI A,21h Roman ---------- Dnes jsem se vratil k nejakymu starsimu programku, ktery jsem odlozil protoze "zahadne" nechodil. Narazil jsem na jeden muj kopanec, ktery se po prekladu pomoci Mrkvosofti M80 chova naprosto zvlastne. Spletl jsem si v 8080-ce dve scitaci instrukce ADC a ADI. ADC je pricteni obsahu reg k stradaci , ACI je pricteni konstanty k stradaci. Napsal jsem : ADC 0, jine zase ADC 6 coz je spatne, melo by byt ACI 0, nebo ACI 6. Zajimavy ovsem je, ze to M80 schroupla a neprotestovala. Ale treba ADC 32 uz protestovala na chybu argumentu.. Tak jsem se chtel zeptat, jestli to je chyba M80 a nebo to je neco podobnyho jako u 8051, kde se muzou registry oznacovat cislem, tedy adresou jejich ulozeni v pameti RAM. Jenze u 8051 jsou ! registry skutecne v RAM a u 8080 jsou primo v procesoru. Pokud je skutecne mozny oznacovat registry H,L,D,E atd cislama, nikdy jsem o tom neslysel. Treba v knize Zakladni instrukce 8080 od Tesla Eltos o tom neni ani carka a v popisu M80 taky nic. Dalo by se to odladit, co je co, ale na to jsem docela linej. -:)) Uz si to proste nespletu. Zkusim ale zda to M80 dela i pri Z80 instrukcich. Jirka --------------------- sapi tu byla ta zakroucena vec pandora.cz Konference o SAPI-1 ---
Ostatní příspěvky vlákna:
[2011/2 (7)] [2011/3 (12)] [2011/5 (50)] [2011/6 (18)] [2011/7 (112)] [2011/8 (192)] [2011/9 (94)] [2011/10 (16)] [2011/11 (46)] [2011/12 (39)]