Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: JG am 17. March 2005, 19:55
-
Hallo,
weiß jemand, wo es genaue Infos, zum Pit gibt? Auf http://osdever.net/ gibt es nix und bei google findet man auch nix gescheits...
Danke, JG
-
Doch es gibt da auch was. Unter dem informativen Titel 8253/54 CPU Timer Datasheet (http://osdever.net/documents/8253.pdf?the_id=42). Dieses PDF find ich persönlich wenig informativ.
Hier (http://www.nondot.org/sabre/os/articles/MiscellaneousDevices/) gibt es bessere Artikel zum "8253".
-
Ich hab grad deinen Quellcode hier gefunden :D . Nur eine Frage zu
outb(counter & 0xFF, 0x40);
wie ist das counter & 0xFF gemeint?
-
das heisst, dass nur das untere byte von counter an den port 0x40 geschickt wird.
counter ist eine 16bit-zahl und muss in zwei getrennten 8 bit (=1 byte) paketen geschickt werden. einmal das highbyte und einmal das lowbyte. (welches zuerst war weiss ich auch nicht so genau. steht ja im code ;))
-
Achso, danke
-
Aber des & ist doch ein UND, oder muss man da net counter << 8 schreiben?
-
jep das heist und
1111111111111111b
& 0000000011111111b
-----------------------------
0000000011111111b
-----------------------------
-----------------------------
überall vo beiden orten ein 1 steht wird das ergebnis auch eins...
1111111111111111b << 8 = 1111111100000000b
-
Ja, das ist schon klar, aber warum schreibt man da nicht einach << 8..
-
weil << 8 das low byte ins high byte verschiebt. welchen sinn soll das haben?
-
auf der suche nach informationen zum pit bin ich auf diese seite gestossen:
http://www.fh-zwickau.de/doc/prmo/pmtutor/text/komplex3.htm
guschdu!
-
Ja, das ist schon klar, aber warum schreibt man da nicht einach << 8..
theoretisch ginge es, wenn man es wieder zurück schiebt, das gäbe das gleiche ergebniss.