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 (sharpemupandora.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.