üç değişkeni birleştirmek

Başlatan mesmert, 28 Nisan 2008, 19:21:32

mesmert

slm arkadaşlar 3 adet displaylerde set ettiğim değerleri tek registerde birleştirmek istiyorum bu degerlerin birleşimi 255 geçmiyor. bu değerler 000 ile 255 arası değişken değerler.

örneğin

1. digit =2
2. digit =5
3. digit =5

bunları tek registerde .255 şeklinde birleştirmek istiyorum nasıl yapabilirim

picusta

degisken = 1.digit*100 +  2.digit*10 + 3. digit

arslan74

Alıntı yapılan: "mesmert"slm arkadaşlar 3 adet displaylerde set ettiğim değerleri tek registerde birleştirmek istiyorum bu degerlerin birleşimi 255 geçmiyor. bu değerler 000 ile 255 arası değişken değerler.

örneğin

1. digit =2
2. digit =5
3. digit =5

bunları tek registerde .255 şeklinde birleştirmek istiyorum nasıl yapabilirim


degisken =  ((((digit_1<<2)+(digit_1<<1))<<2)+(((digit_1<<2)+(digit_1<<1))<<1)) + ((digit_2<<2)+(digit_2<<1)) + digit_3


Yukardaki mantığı kullanırsan matematik işlemlerle boğuşmadan halledebilirsiniz. Sola kaytırma komutunu doğrudan ASM ile yapabilirsiniz.

Selamlar

mesmert

Alıntı yapılan: "arslan74"
Alıntı yapılan: "mesmert"slm arkadaşlar 3 adet displaylerde set ettiğim değerleri tek registerde birleştirmek istiyorum bu degerlerin birleşimi 255 geçmiyor. bu değerler 000 ile 255 arası değişken değerler.

örneğin

1. digit =2
2. digit =5
3. digit =5

bunları tek registerde .255 şeklinde birleştirmek istiyorum nasıl yapabilirim


degisken =  ((((digit_1<<2)+(digit_1<<1))<<2)+(((digit_1<<2)+(digit_1<<1))<<1)) + ((digit_2<<2)+(digit_2<<1)) + digit_3


Yukardaki mantığı kullanırsan matematik işlemlerle boğuşmadan halledebilirsiniz. Sola kaytırma komutunu doğrudan ASM ile yapabilirsiniz.

Selamlar

C kodunu ASM çevirebilirmisiniz hocam