|
You last visited: Today at 17:12
Advertisement
Was bedeutet diese codezeile?
Discussion on Was bedeutet diese codezeile? within the C/C++ forum part of the Coders Den category.
10/11/2013, 18:18
|
#1
|
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 65
|
Was bedeutet diese codezeile?
Hi,
was bedeutet oder bring die letzte Codezeile?
Code:
uint16_t scancode; //variable scancode wird erstellt
scancode = inb(0x60); //Scancode wird ausgelesen
scancode &= ~0x80; //???
|
|
|
10/11/2013, 19:02
|
#2
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
0x80 wird binär negiert und dann binär mit scancode UND-verknüpft.
Das Ergebnis landet wieder in scancode.
Beispiel:
Code:
unsigned short scancode = 1;
unsigned short tmp = ~0x80; // 00000000 10000000 - > 11111111 01111111
scancode &= tmp;
//scancode == 00000000 00000001
|
|
|
10/11/2013, 19:03
|
#3
|
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
|
Quote:
Originally Posted by lolxdflyx3
Hi,
was bedeutet oder bring die letzte Codezeile?
Code:
uint16_t scancode; //variable scancode wird erstellt
scancode = inb(0x60); //Scancode wird ausgelesen
scancode &= ~0x80; //???
|
Scancode wird ausgelesen? Schau nochmal richtig hin. Wofür soll "inb" sein?
|
|
|
10/11/2013, 19:33
|
#4
|
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 65
|
Quote:
Originally Posted by Logtetsch
Scancode wird ausgelesen? Schau nochmal richtig hin. Wofür soll "inb" sein?
|
ähm... so wie ich das verstanden habe wird der port 0x60 ausgelesen und in die Variable scancode geschrieben
Wobei jetzt wo du es sagst bin ich mir nicht mehr sicher.
EDIT: Es ließt den Iput von dem Port 0x60 (Quelle:  )
|
|
|
10/11/2013, 19:46
|
#5
|
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
|
Code:
scancode = inb(0x60); //Scancode wird ausgelesen
Der Variable 'scancode' wird etwas zugewiesen, aber es wird nichts aus 'scancode' gelesen. Würde auch keinen Sinn machen. Google mal nach 'L-Value' und schau dir nochmal an, was genau Operatoren/ Operanden sind →
|
|
|
10/11/2013, 20:03
|
#6
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
um es mal etwas verständlicher zu formulieren:
das 8. bit von rechts wird aus "scancode" gelöscht (ist also danach 0) - der rest von scancode wird belassen wie er ist.#
EDIT:
Logtetsch das ist schwachsinn, die formulierung ist vollkommen in ordnung, ein scancode wird ausgelesen und der gleichnamigen variable zugewiesen.
EDIT2:
das ist übrigens normal so bits zu setzen und zu clearen, meistens aber mit #define konstanten anstatt einfach direkt 0x80.
bit setzen:
Code:
#define SOME_BIT 0x80
value |= SOME_BIT; // das 8. bit auf 1 setzen - den rest unangetastet lassen
value &= ~SOME_BIT; // das 8. bit auf 0 setzen - den rest unangetastet lassen
if (value & SOME_BIT) // testen ob das 8. bit auf 1 gesetzt ist.
|
|
|
10/11/2013, 20:03
|
#7
|
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 65
|
Quote:
Originally Posted by Logtetsch
Code:
scancode = inb(0x60); //Scancode wird ausgelesen
Der Variable 'scancode' wird etwas zugewiesen, aber es wird nichts aus 'scancode' gelesen. Würde auch keinen Sinn machen. Google mal nach 'L-Value' und schau dir nochmal an, was genau Operatoren/ Operanden sind → 
|
Ich meint auch dass der ioPort der Tastatur ausgelesen wird und in Form von Scancode in die Variable scancode geschrieben wird
|
|
|
10/11/2013, 20:05
|
#8
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Er liest den Wert an der Stelle 0x60 so wies aussieht. Bei mC Programmierung ist es durchaus gängige Praxis, so direkt von einem I/O-Port zu lesen.
Für mich liest sich der Code so: Er liest ein Word an Port 0x60 ein und löscht anschließend das 8. Bit.
Edit: bin nur mobil online und so ist es wirklich unübersichtlich - kann also gut sein dass ich was übersehe. Steinigt mich, falls es so sein sollte.
|
|
|
10/11/2013, 20:31
|
#9
|
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
|
Quote:
Originally Posted by Dr. Coxxy
ein scancode wird ausgelesen und der gleichnamigen variable zugewiesen.
|
Hmm, dass ich das nicht berücksichtigt habe
|
|
|
10/12/2013, 18:53
|
#10
|
elite*gold: 0
Join Date: Jul 2011
Posts: 331
Received Thanks: 65
|
Hi,
ich hab noch ne Frage dazu:
Was genau ist für das binär zuständig?
Also wenn ich jetzt zum Beispiel mit einer if-Schleife abfragen will ob eine Variable einem gewissen binärcode entspricht. Wie sage ich das die Zahl binär interpretiert werden soll?
|
|
|
10/12/2013, 22:37
|
#11
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Auf dem PC ist alles binär.
|
|
|
10/13/2013, 00:59
|
#12
|
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
|
Quote:
Originally Posted by lolxdflyx3
Hi,
ich hab noch ne Frage dazu:
Was genau ist für das binär zuständig?
Also wenn ich jetzt zum Beispiel mit einer if-Schleife abfragen will ob eine Variable einem gewissen binärcode entspricht. Wie sage ich das die Zahl binär interpretiert werden soll?
|
Du meinst vermutlich, wie die Zahlen dargestellt werden. Da alles binär interpretiert wird brauchst du dir darum keine Gedanken machen.
(1 << 7) ist das gleiche wie 0x80, ist im Prinzip nur eine Sache der Übersicht.
 :P
|
|
|
 |
Similar Threads
|
was bedeutet diese meldung?
06/22/2012 - Hardware Discussions / Questions - 4 Replies
hallo com
ich hab grad wieder etwas übertaktet
jetz stand beim testen das auf der rechten seite
http://img5.fotos-hochladen.net/uploads/hmn2a3oiy pdl.png
was heißt den gpu throttling?
außerdem stimmen die ganzen werte nicht die ich eingegebn hab
http://img5.fotos-hochladen.net/uploads/vhgfhmj5c 8vy7ot.png
|
Was bedeutet diese Fehlermeldung?
11/06/2011 - Alliance of Valiant Arms - 10 Replies
Früher spielte ich Ava 3 wochen lang ohne probleme beim einloggen oder sonstiges, jedoch mache ich jetzt Ava auf, dann warte ich und es wird alles schwarz und dort steht dann: failed to authentication.Please re-connect
was kann man dagegen machen?
schon alles versucht :( ich bitte aufrichtig um Hilfe.Danke im Vorraus
|
Was bedeutet diese Fehlermeldung?
10/23/2011 - Metin2 Private Server - 19 Replies
WarpSet: cannot find map location index 0 x 30720000 y 120320000 name
ist aus der syserr serverside
was bedeutet diese?
MFG
|
Was bedeutet diese Meldung?
04/29/2011 - Metin2 Private Server - 6 Replies
Hallo epvp,
da ich nun mitlerweile eine syslogdatei habe die 9 gigabyte groß ist und andauernd der speicher des servwers voll ist habe ich mal nachgeschaut und mir die syslogg runtergeladen. Die Syslog beinhaltet immer wieder die gleiche Fehlermeldung nur mit anderen Mobs. Hier ein paar ausschnitte
Apr 28 22:10:46 :: no sectree for spawn at 141717 63157 mobvnum 2065 mapindex 200SY
SERR: Apr 28 22:10:46 :: SpawnGroup: NOT_EXIST_GROUP_VNUM(0)
Apr 28 22:10:46 :: no sectree for spawn at 112509...
|
WAS BEDEUTET DIESE MELDUNG?!
08/03/2009 - Metin2 Private Server - 8 Replies
seit ca. 2 stunden erhalte ich, wenn ich mich bei newlongju einlogge immer diese meldung:
http://www.bilder-upload.eu/show.php?file=rMossKF lEBfHQxz.jpg
kann mir irgendjemand sagen was sie zu bedeuten hat?
danke im vorraus
|
All times are GMT +1. The time now is 17:13.
|
|