Portok programozása, hogyan?

Ez a téma lezárásra került a moderátor által. A lezárás oka: V�gtelen �r�mmel t�ltene el benn�nket, ha megtanuln�d, hogy mi a k�l�nbs�g a T�rsalg� �s a Tud�st�r k�z�tt (valamint, ezen inform�ci�kat hasznos�tan�d is).
Portok programozása, hogyan?
2010-12-20T14:04:31+01:00
2010-12-20T16:40:24+01:00
2022-07-19T05:27:42+02:00
  • Ha április elseje lenne, akkor azt mondanám, hogy vicces. December huszadikán viszont azt kell mondanom, hogy süvöltő marhaság. Légy szíves, tanulj egy kicsit, olvasgass, helyezd képbe magad.
    Mutasd a teljes hozzászólást!
  • Csatlakozva az előttem szólóhoz .... ezzel együtt elérhetsz bizonyos portokat gépi kódból .... még akár a soros portot is, viszont arra kell ügyelned, hogy NEM HASZNÁLHATSZ BIOS megszakításokat. A DOS-os megszakításokat nem tiltja le a windows - hiszen azok hozzá futnak be -, így az azokkal történő - pl - soros port kezelés gond nélkül fog lefutni.

    Egyébként ... nekünk az informatika alapjai tananyag keretében .... úgy 23 éve az egyik első ábra, amit felrajzoltak, egy hagyma volt ... a hagyma magja a hardware, egy réteggel felette a BIOS, felette az op.rendszer, s felette vannak a felhasználói programok ....
    Mutasd a teljes hozzászólást!
  • Az assembly nyelv szintje az operációs rendszer szintje felett található.


    Nem. Az operációs rendszer is ugyanúgy gépi kódként fut, mint a te programod. Ha nem így lenne, szerinted hogyan tudna futni maga az oprendszer? (Mi lenne az oprendszer "szintje" alatt?)

    Tehát ha van egy olyan utasítás, mint pl. OUT - Output To Port, akkor ezzel a hardwer elemek közvetlen a gyártótól kiosztott portjati tudom programozni, vagy pedig az operációs rendszer által kiadott portokat?


    Olyan nincs, hogy az oprendszer portja. Portja csak a hardvernek van (és az is csak x86-on). Az más kérdés, hogy az oprendszer általában úgy állítja be a hardvert, hogy mezei programoknak ne legyen joguk portokat piszkálni, hanem magasabb szintű rendszerhívásokra legyenek kényszerítve.

    Tehát ha a programod végre akar hajtani egy OUT utasítást, három dolog történhet:
    a) Kimegy az adat a portra (az oprendszer nem tiltotta le). Az oprendszer nem tud beleszólni, hogy mi történik.
    b) Az oprendszer letiltotta a portok birizgálását, védelmi hiba keletkezik. (Alapesetben ettől összeomlik a programod.)
    c) Az oprendszer letiltotta a portok birizgálását, de a keletkező hibát elkapja, és csinál valamit a portírás helyett, aztán visszaadja az irányítást, mintha mi se történt volna. Akkor szoktak ilyet csinálni, ha emulálni kell a környezetet egy más környezetre írt programnak (pl. DOS kód futtatása Windowson).

    Ha kihagyod a játékból az oprendszert (mondjuk saját boot szektort írtál), akkor tiéd a teljes irányítás, és mindig tudod piszkálni közvetlenül a hardvert.
    Mutasd a teljes hozzászólást!
  • Az assembly nyelv szintje az operációs rendszer szintje felett található. Egy mondjuk Intel processzor utasítás készlete assembly utasításokat tartalmaz. Na most ezek az utasítások minden operációs rendszeren működnek. Tehát ha van egy olyan utasítás, mint pl. OUT - Output To Port, akkor ezzel a hardwer elemek közvetlen a gyártótól kiosztott portjati tudom programozni, vagy pedig az operációs rendszer által kiadott portokat?
    Mutasd a teljes hozzászólást!
Ez a téma lezárásra került a moderátor által. A lezárás oka: V�gtelen �r�mmel t�ltene el benn�nket, ha megtanuln�d, hogy mi a k�l�nbs�g a T�rsalg� �s a Tud�st�r k�z�tt (valamint, ezen inform�ci�kat hasznos�tan�d is).
abcd