adresování I/O
zdravím,
nevěděl byste někdo prosím jakým způsobem jsou u x86tek adresovány jednotlivé vstupy a výstupy? v manuálech od intelu jsem se dočetl že jednak to jde stejně jako adresování paměti a nebo se k tomu dá přistupovat jako k vlastnímu adresnímu prostoru a pracovat s čísly portů za pomocí instrukcí IN a OUT. nicméně nikde ani za boha nemůžu najít něco jako výčet portů popř. výčet lineárních adres nebo aspoň co provedou ty instrukce in a out, resp. je mi jasný že to je přečtení z portu a uložení do akumulátorovýho registru a obráceně ale pokavaď se to dá dělat i MOVem tak nejspíš v tom bude ještě něco proč ty instrukce vůbec existují.
nevěděl byste někdo prosím jakým způsobem jsou u x86tek adresovány jednotlivé vstupy a výstupy? v manuálech od intelu jsem se dočetl že jednak to jde stejně jako adresování paměti a nebo se k tomu dá přistupovat jako k vlastnímu adresnímu prostoru a pracovat s čísly portů za pomocí instrukcí IN a OUT. nicméně nikde ani za boha nemůžu najít něco jako výčet portů popř. výčet lineárních adres nebo aspoň co provedou ty instrukce in a out, resp. je mi jasný že to je přečtení z portu a uložení do akumulátorovýho registru a obráceně ale pokavaď se to dá dělat i MOVem tak nejspíš v tom bude ještě něco proč ty instrukce vůbec existují.
Napište přesně co si od toho slibujete. Porty :notsure to je široký pojem. Chcete napsat nový BIOS? Nebo pod pojmem porty máte namysli periférie jako seriový port, USB, SATA apod.
slibuju si od toho že budu umět programovat periferie počítače. portem mám na mysli adresový rozsah v adr. prostoru I/O, což v důsledku může být skoro všechno v rámci bedny od počítače co má nějakou logiku kterou je potřeba naprogramovat, takže ano i RS232, USB nebo SATA.
pokusím se to ještě trochu lépe dotázat.
adresová sběrnice má nějaký největší možný rozsah se kterým je možné naadresovat paměť nebo právě periferie, u x86 jsem se dočetl že je možné dosáhnout paměťových oblastí periférií jak obyčejným způsobem jakým se dá pracovat třeba s RAM pamětí, tak pomocí IN, OUT instrukcí které pracují se speciálním adresním prostorem pro vstupy, výstupy. a to co bych chtěl vědět je jestli pro ty vstupy výstupy existuje speciální adr. sběrnice, jakože spíš asi ne pokavaď s nimi jde pracovat i instrukcemi které ten I/O adr. prostor nepoužívají, ale tudíž jsou to jenom logické adresy aby to hezčeji vypadalo a pak bych právě rád věděl jaké jsou ty fyzické adresy.
pokusím se to ještě trochu lépe dotázat.
adresová sběrnice má nějaký největší možný rozsah se kterým je možné naadresovat paměť nebo právě periferie, u x86 jsem se dočetl že je možné dosáhnout paměťových oblastí periférií jak obyčejným způsobem jakým se dá pracovat třeba s RAM pamětí, tak pomocí IN, OUT instrukcí které pracují se speciálním adresním prostorem pro vstupy, výstupy. a to co bych chtěl vědět je jestli pro ty vstupy výstupy existuje speciální adr. sběrnice, jakože spíš asi ne pokavaď s nimi jde pracovat i instrukcemi které ten I/O adr. prostor nepoužívají, ale tudíž jsou to jenom logické adresy aby to hezčeji vypadalo a pak bych právě rád věděl jaké jsou ty fyzické adresy.