реклама на сайте
подробности

 
 
> Как извлечь short из int'a в С для BF
Grumbler_2002
сообщение Apr 26 2007, 21:59
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 154
Регистрация: 5-01-05
Из: г. Зеленоград
Пользователь №: 1 817



Надо сдвинуть 32-битный регистр и использовать потом старшее и младшее слова этого регистра. Ума не приложу, как сделать это из Си.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Serg76
сообщение Apr 26 2007, 22:36
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(Grumbler_2002 @ Apr 26 2007, 22:59) *
Надо сдвинуть 32-битный регистр и использовать потом старшее и младшее слова этого регистра. Ума не приложу, как сделать это из Си.

Это чё прикол такой новый ????? Если нет, то смотри далее

/********************************************************************
unsigned u_reg = 0x1111; // (например, двигаем регистр "0001000100010001" (bin)
unsigned short u_reg1=0x00,u_reg2=0x00;

// на сколько бит сдвигаем и куда?????????
// например, на 1 бит влево
u_reg <= 1; // "0010001000100010"
// старшее слово
u_reg1 = (unsigned short)((u_reg&0xff00)>>16); // "00100010"
// младшее слово
u_reg2 = (unsigned short)(u_reg&0xff); // "00100010"
*********************************************************************/
Go to the top of the page
 
+Quote Post
zltigo
сообщение Apr 26 2007, 22:45
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Serg76 @ Apr 26 2007, 22:36) *
Если нет, то смотри далее

&0xff00 и &0xff
1. Должны быть как минимум 0xffff0000 и 0x0000ffff дабы, как минимум просто не навредить;
2. Вообще не нужны ввиду полной нахренненужности.

Явная инициализация переменных нулями тоже совсем никчему.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Serg76
сообщение Apr 27 2007, 10:38
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(zltigo @ Apr 26 2007, 23:45) *
&0xff00 и &0xff
1. Должны быть как минимум 0xffff0000 и 0x0000ffff дабы, как минимум просто не навредить;
2. Вообще не нужны ввиду полной нахренненужности.

Явная инициализация переменных нулями тоже совсем никчему.

по первому пункту согласен, тут я сам напорол косяков smile.gif , а что касается наложений масок и начальной инициализации, то это считается хорошим тоном, да и вообще лишний раз подстраховаться не помешает.


Цитата(zltigo @ Apr 26 2007, 23:45) *
&0xff00 и &0xff
1. Должны быть как минимум 0xffff0000 и 0x0000ffff дабы, как минимум просто не навредить;
2. Вообще не нужны ввиду полной нахренненужности.

Явная инициализация переменных нулями тоже совсем никчему.

по первому пункту согласен, тут я сам напорол косяков smile.gif - сыграл человеческий фактор, а что касается наложений масок и начальной инициализации, то это считается хорошим тоном, да и вообще лишний раз подстраховаться не помешает, а то бывали случаи, что сидишь в отладчике сутками, не можешь ошибку выявить, а оказывается где-то что-то не обнулил или еще что-то подобное.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Grumbler_2002   Как извлечь short из int'a в С для BF   Apr 26 2007, 21:59
- - zltigo   Ума не приложу о чем это ? Начните со сдвигов - по...   Apr 26 2007, 22:06
- - Grumbler_2002   Эквивалент R0<<=1; R1=Op(R0.h); R2=Op(R0.l)...   Apr 26 2007, 22:12
|- - zltigo   Цитата(Grumbler_2002 @ Apr 26 2007, 22:12...   Apr 26 2007, 22:15
- - Grumbler_2002   И че, компилятор рюхнет, что сдвигать reg не надо,...   Apr 26 2007, 22:18
|- - zltigo   Цитата(Grumbler_2002 @ Apr 26 2007, 22:18...   Apr 26 2007, 22:22
|- - zltigo   Цитата(Serg76 @ Apr 27 2007, 10:38) а что...   Apr 27 2007, 11:15
|- - Serg76   Цитата(zltigo @ Apr 27 2007, 12:15) Хорош...   Apr 27 2007, 22:23
|- - zltigo   Цитата(Serg76 @ Apr 27 2007, 22:23) По вс...   Apr 27 2007, 23:25
|- - Serg76   Цитата(zltigo @ Apr 28 2007, 00:25) На та...   Apr 27 2007, 23:40
|- - zltigo   Цитата(Serg76 @ Apr 27 2007, 23:40) и пов...   Apr 28 2007, 00:00
|- - dxp   Цитата(Serg76 @ Apr 28 2007, 03:40) В это...   Apr 28 2007, 08:00
- - Grumbler_2002   Нашел всё, что нужно было. Есть тип int2x16 и встр...   Apr 27 2007, 20:03


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 06:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016