Kezdőoldal » Számítástechnika » Programozás » Két 8 bites regiszter tartalmá...

Két 8 bites regiszter tartalmát, hogyan lehet egybefűzni, hogy legyen egy 16 bites szám?

Figyelt kérdés

Én így próbáltam:

res1 = ADRESH << 8| ADRESL;


ADRESH és ADRESL a két regiszter.


Valahol a típusokkal lehet gond, mert kipróbáltam konkrét értékekkel és azzal működött. Pl adtam hogy 0b001-et rakja össze 0b010-val, és működött.



2012. jún. 26. 16:16
 1/5 anonim ***** válasza:
az ADRESH változónak mi a típusa? Mert ha az is csak 8 bites, akkor a shifteléskor "lecsúsznak" róla a bitek.
2012. jún. 26. 19:19
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:
unsigned char, és igen, 8 bites az is.
2012. jún. 26. 19:54
 3/5 _Jessy_ ***** válasza:

mov [res + 0],ADRESH

mov [res + 1],ADRESL

vagy

mov [res + 1],ADRESH

mov [res + 0],ADRESL

byteordertől függően.

2012. jún. 26. 20:05
Hasznos számodra ez a válasz?
 4/5 iostream ***** válasza:

Töltsd bele mindkettőt egy unsigned shortba (vagy bármibe, ami legalább 16 bit, és unsigned), és úgy végezd el a művelet. Persze elvileg elég, ha magát a kifejezést veszed magasabb fokra, tehát pl


(int)(ADRESH) << 8| ADRESL;

2012. jún. 26. 20:18
Hasznos számodra ez a válasz?
 5/5 A kérdező kommentje:
köszönöm...
2012. jún. 26. 20:36

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!