[gelöst] Wie High & Low - Nibble setzen?
Verfasst: 06.09.2017 20:45
Wie kann ich mit Purebasic Low & High-Nibbels (Halbbytes) setzen
?
Hab damit noch nie gearbeitet.
Hab damit noch nie gearbeitet.
Das deutsche PureBasic-Forum
https://www.purebasic.fr/german/
Code: Alles auswählen
Define.a byte = 0
Macro setHighNibble(a, b)
a = (a & $f) | ((b & $f) << 4)
EndMacro
Macro setLowNibble(a, b)
a = (a & $f0) | (b & $f)
EndMacro
Debug Hex(byte)
setHighNibble(byte, $a)
Debug Hex(byte)
setLowNibble(byte, $5)
Debug Hex(byte)Code: Alles auswählen
Procedure setHighNibble2(*a.Ascii, b)
*a\a = (*a\a & $f) | ((b & $f) << 4)
EndProcedure
Procedure setLowNibble2(*a.Ascii, b)
*a\a = (*a\a & $f0) | (b & $f)
EndProcedure
Code: Alles auswählen
proc SetLowNibble
mov rax,[rcx]
and rax,0F0h
or rax,rdx
mov [rcx],rax
ret
endp
proc SetHighNibble
mov rax,[rcx]
and rdx,0Fh
shl rdx,04h
or rax,rdx
mov [rcx],rax
ret
endp
Was fürn Zufall, über die 7 Segment Anzeige hab ich erst letztens zum ersten mal was gelesenmk-soft hat geschrieben:7-Segment Anzeige zum Beispiel...
Danke für die Erklärung.GPI hat geschrieben:Geschwindigkeit könnte auch ein Grund sein. Man muss so weniger Bytes übertragen und ich denke mal, das die meisten Displays eher langsammer sind.
Da ja 4 Bit Werte von 0-15 ermöglichen, kann man so ganz einfach die Zahlen 0-9 übertragen und hat sogar noch Platz für Sonderzeichen wie Punkt, Komma, Doppelpunkt etc. Verarbeiten kann man es auch leicht, weil man nur 4 Bits rüberschieben muss. Das sollte jeder Prozessor können.
Weil ja 64 Bit auf einem Rutsch mehr überträgt, und Performance bei gleichzeitiger beibehaltener Funktionalität, im zusammenspiel mit einem kleinen OS bin ich nicht abgeneigt. Schätze mal dieses Windows über das wir uns gefezt haben als x64 das auf Windows 2003 basiert werde ich mal auf'm 2. Rechner ausprobieren, hab mal geschaut hab für alles was ich da habe auch Treiber. Es soll zwar irgendwas mit wow64 und irgeneinem api aufruf den ich noch nie benutzt hab sein, aber egal, mann kann ja mal ausprobieren.GPI hat geschrieben:Ich weiss zwar nicht, warum du jetzt auf 64Bit Os kommst....
aber was solche Displays angeht, fand ich das Video ganz interessant
https://www.youtube.com/watch?v=hZRL8luuPb8
Wobei das Ding eher mit Ascii arbeitet.