Konference: Počítač SHARP MZ-800 a emulátory

Od: Anonym
Datum: 2.7.2003 15:02
Předmět: Re: jak na to


Ahoj Petre,
 
kvoli efektivnejsiemu vyuzitiu inkrementalnych instrukcii i vystupu OTIR by bolo vhodnejsie, keby pri vystupe nizsi bajt bol uvodzovany neparnym (lichym) obsahom B registra, podobne vyssi bajt bol uvodzovany parnym (sudym) obsahom B registra. Pri tychto instrukciach vystupu sa totiz obsah B registra dekrementuje este pred vyslanim na adresovu zbernicu. Pri instrukciach vstupu typu INIR je to v poriadku, tam sa obsah B registra posiela na adresovu zbernicu nedekrementovany.
 
S pozdravom
 
Marek
----- Original Message -----
From: Petr Žydek (sharpemu tu byla ta zakroucena vec pandora.cz)
To: Konference Počítač SHARP MZ-800 a emulátory
Sent: Wednesday, July 02, 2003 3:48 PM
Subject: jak na to

Je to prosté, držel jsem se přesně definice portů,
jak byla uvedena ve schematu 8bit IDE, tj. porty
78h-7Fh. 16ti bitový přenos má smysl jen pro port
78h. Samozřejmě jdou dva bajty po sobě, nultý
bajt jde na DD0-DD7 HDD, první bajt jde na
DD8-DD15 HDD atd. Tím se přenese jedna 16tice.
Sudá hodnota registru B uvozuje nultý bajt,
lichá hodnota první bajt. Z toho vyplývá nutnost
používat pro 16to bitový datový přenos instrukce
IN/OUT (C),A s vhodně nastaveným BC a HL. Při užití
OUTI, OTIR se hodnota B mění automaticky, takže
přenos 256 bajtů (128 16tic) může vypadat takto:

  "nastav registry hlav, stopy, atd."
  "zadej příkaz zápis sektoru"
  ld hl,"odkud"
  ld bc,00h
  otir

"osmibitově" zapsaný disk se přečte úplně normálně,
jen je třeba zajistit čtení přes IN A,(C). B musí
být vždy sudé, při použití INI musí následovat
DEC B navíc.

Petr de Zviqov

 

--
Neuvěřitelná sleva 40 % na počítačovou literaturu!
Časově omezená Letní akce na KNIHY.iDNES.CZ - počítačová literatura s neopakovatelnou slevou 40 %! Udělejte si radost a kupte si levně kvalitní knihu!
Více najdete na http://knihy.idnes.cz/. ...
...
...
...
...
Letní akce knihy.iDNES.cz.


Ostatní příspěvky vlákna:

 
[2003/1 (22)] [2003/2 (25)] [2003/3 (14)] [2003/4 (20)] [2003/5 (73)] [2003/6 (108)] [2003/7 (88)] [2003/8 (81)] [2003/9 (146)] [2003/10 (60)] [2003/11 (12)] [2003/12 (5)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]