Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Jiri Biba Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR><pre>Tak jsem Romane zcela nepochodil, potreboval bych deleni 24/24 bitu. Nejvic
tam je 24/16 bitu. Ale ty ostatni funkce jsou perfektni. Jak jsem psal, bylo
to jen na zkousku desky a jestli nekdy bude cas, pokusim se to deleni 24/24
napsat. Inspiraci v tom odkazu je dost.
Jirka

-----Original Message-----
From: Roman Bórik (sapi@pandora.cz) [mailto:roman.borik@[doména skryta]] 
Sent: Sunday, November 06, 2011 2:15 PM
To: Konference &quot;SAPI-1 a československé mikropočítače&quot;
Subject: Re: Chyba M80??


Ahoj.

To rozlíšenie je jednoduche a logické.
M je použité iba u inštrukcií, ktoré pracujú s 8 bitovými registrami,
<img src="BODY_IMAGES_WRAP_GIF"> takže
v tom prípade 6 znamená jedine M.
PSW je použiteľné iba u inštrukcií PUSH a POP, takže je jasné, že 6
<img src="BODY_IMAGES_WRAP_GIF">môže byť
jedine PSW. Naviac, za PUSH a POP môže byť iba párna hodnota 0, 2, 4 a 6
<img src="BODY_IMAGES_WRAP_GIF">pre
B, D, H, PSW.
SP je použité iba u inštrukcií, ktoré pracujú s 16 bitovými registrami
<img src="BODY_IMAGES_WRAP_GIF">(LXI,
INX, DCX, DAD), takže v tom prípade 6 znamená jedine SP. A opäť sú
<img src="BODY_IMAGES_WRAP_GIF">povolené
iba párné hodnoty 0, 2, 4 a 6 pre B, D, H, SP.

Neskúšal som to, ale predpokladám, že tento mechanizmus nie je možné
<img src="BODY_IMAGES_WRAP_GIF">použiť
v Z80 notácii. Napr. inštrukcia LD x,y je príliš univerzálna na to, aby
<img src="BODY_IMAGES_WRAP_GIF">sa
to dalo takýmto spôsobom rozlíšiť.

Jednoznačne, deliť hodnotu RTC čítača prostým odpočítavaním je
<img src="BODY_IMAGES_WRAP_GIF">neefektívne,
hlavne pri veľkých hodnotách.
Treba použiť nejakú rutinu delenia, ktora bude vždy trvať približne
konštantný čas.
Inšpirovať sa môžeš napr. tu:
http://baze.au.com/misc/z80bits.html
V tvojom prípade by asi vyhovovaa rutina delenia &quot;Restoring 24-bit / 8-bit
Unsigned&quot;.

Chýbajúca informácia o pretečení čítača je nepríjemná. Stačil by
<img src="BODY_IMAGES_WRAP_GIF">jeden bit,
ktorý by o pretečení informoval a to by umožnilo užívateľa informovať
<img src="BODY_IMAGES_WRAP_GIF">o
potrebe čas znovu nastaviť.

Roman



----- Original Message ----- 
From: &quot;Jiri Biba (sapi@pandora.cz)&quot; &lt;unive.nb@[doména skryta]&gt;
To: &quot;Konference &quot;SAPI-1 a československé mikropočítače&quot;&quot;
<img src="BODY_IMAGES_WRAP_GIF">&lt;sapi@pandora.cz&gt;
Sent: Sunday, November 06, 2011 11:02 AM
Subject: RE: Chyba M80??


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

</pre>