Hi ich programmiere für den ATmega8 und bin auf ein Problem gestoßen, wenn ich eine Bedingung abfragen will, allerdings nicht mit Zahlen, sondern Buchstaben, wie muss ich da vorgehen? Also wenn ich R17 mit P vergleichen möchte. P in eine Zahl umwandeln? Danke für eure Hilfe
Julia Schneider schrieb: > P in eine Zahl umwandeln? Brauchst du nicht. Das macht schon der Assembler für dich. Du schreibst cpi r17, 'P' und der Assembler erstezt 'P' durch seinen ASCII Code. Denn: in einem COmputer ist ausnahmslos ALLES lediglich eine Zahl. So etwas wie Buchstaben gibt es nicht. Damit ein Terminal einen Buchstaben anzeigt, schickt man ihm eine Zahl (den ASCII Code eines Zeichens) und da das Terminal ein Terminal ist, weiß es, dass es für dieses Zahl ein bestimmtes Pixelmuster anzeigen muss, welches du dann als 'P' liest.
'A'=0x41 'B'=0x42 ... Also x=('A'-0x40)+('B'-0x40)+0x40 x='C' oder auch x=0x43 x=0b01000011 x=67 Guck doch einfach mal in den Simulator, Debugger im Speicher Register Window und klick mal mit der Rechten Maustaste drauf. Da kann man meistens einstellen wie der Speicher angezeigt werden soll ob als Buchstabe(ASCII Zeichen), als Hexadezimale Zahlen usw. Variablen und Register kann man sich zumeist auch im Dezimalformat oder als Binäre representation angucken. Das sind jedoch nuranzeigeoptionen in der Realität stehen dort immer Nulllen und Einsen also Binärformat. http://de.wikipedia.org/wiki/Dualsystem
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.