PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 2 byte in ein word schreiben



raptor_79
20.11.2010, 13:23
hallo,
ich werde gerade wahnsinnig... mir fällt es nicht mehr ein, schon lang her.
wäre toll, wenn mir schnell wer helfen kann. dank euch schon mal.


ich will z.b.

a=&HAA
b=&HFF

ab=ab

&HAAFF soll dann da rauskommen

da gibts doch was, mit dem kann man in msb und lsb schreiben. was war das noch mal? ich find das nicht mehr.

radbruch
20.11.2010, 13:39
ab=a * 256 + b

raptor_79
20.11.2010, 13:50
ja, nicht ganz. aber danke mal.
dachte eher an:

variable-AB = word
variable-A=byte
variable-B=byte

so, jetzt sollen die byte-variablen in das word gesetzt werden.
wenn also variable-A &B1111 ist und die variable-B &B000 ist, soll das dann in variable-AB als 11110000 stehen.
bzw bei mir als hex also z.b. a=A4 B=FB c soll A4FB sein.

weil, a+b ist ja rechnung, und a*b auch, und a AND b is jetzt auch nicht passend weil das ja wieder was völlig anderes ist.
ich brauch quasi a=auto b=haus und will c=autohaus

hoffe, ich hab das jetzt gut erklärt.
ich will den wert c dann übrigens dann weitersenden. also ausgabe über einen bus dann.

raptor_79
20.11.2010, 14:03
ha!
habs gefunden...

makeint()

variable(word)=makeint(LSB , MSB)

LSB und MSB sind byte-variablen.

das wars!

radbruch
20.11.2010, 14:15
Hallo

Na klasse. Schön, dass du es selbst gefunden hast.

Schau dir mal bei Gelegenheit die Bascomhilfe zu makeint() an:


The equivalent code is:

varn = (256 * MSB) + LSB


Gruß

mic

for_ro
20.11.2010, 14:33
Oder ganz ohne Aufwand:

Dim Ab As Word
Dim B As Byte At Ab Overlay
Dim A as Byte At Ab+1 Overlay

A=&HAA
B=&HFF

Jetzt steht in Ab der Wert &HAAFF automatisch drin.
Die Variablen nutzen einfach den gleichen Speicherbereich.

raptor_79
20.11.2010, 14:59
ja danke, hab ich auch schon gefunden.
is lang her, daß ich damit was gemacht hab...... da weiß man nicht mehr alles so genau.
muß mich erst wieder etwas einarbeiten.

aber danke, schön geholfen zu werden ;-)