Отговори на тема  [ 39 мнения ]  Отиди на страница Предишна  1, 2, 3
Таблица 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение Re: Таблица
Цецо написа:
Абе аз единствения процесор, на който виждам смисъл да се прави таблица директно през инструкции, е PIC12/16 от първите поколения. Щото там нямаше инструкция за четене от флеша :) И таблиците се правеха с CALL/RETURN. Щурава работа. При съвременните ядра, хората са дали 100 вида адресиране.

Често използвам таблици от указатели към функции. Например, да речем, че имаме протокол за обмен на данни с 16 възможни команди, вместо да правя switch( command ) { case 0: break; .... case 15: break } проверявам дали командата е в обхвата 0..15 след което изпълнявам функцията с пореден номер command от масива с функции. Кодът става по-прегледен, а понякога и доста по бърз. Функциите може да са вътрешни функции в една обща за протокола функция, както и масива. Ако има празни команди на мястото на съответната функция слагам една обща подразбираща се. Отделно се получава по-голяма гъвкавост, по време на изпълнение на кода може да се замени дадена функция от масива и да се подмени начина на изпълнение на дадена команда, или просто да се забрани съответната команда. А бе хубави работи са си таблиците :)

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Вто Дек 04, 2012 7:34 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: Таблица
¶ написа:
А бе хубави работи са си таблиците :)


Жена, директно адресирана също е хубава работа... :P :P :P


Сря Дек 05, 2012 2:49 am
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение Re: Таблица
¶ написа:
Цецо написа:
Абе аз единствения процесор, на който виждам смисъл да се прави таблица директно през инструкции, е PIC12/16 от първите поколения. Щото там нямаше инструкция за четене от флеша :) И таблиците се правеха с CALL/RETURN. Щурава работа. При съвременните ядра, хората са дали 100 вида адресиране.

Често използвам таблици от указатели към функции. Например, да речем, че имаме протокол за обмен на данни с 16 възможни команди, вместо да правя switch( command ) { case 0: break; .... case 15: break } проверявам дали командата е в обхвата 0..15 след което изпълнявам функцията с пореден номер command от масива с функции. Кодът става по-прегледен, а понякога и доста по бърз. Функциите може да са вътрешни функции в една обща за протокола функция, както и масива. Ако има празни команди на мястото на съответната функция слагам една обща подразбираща се. Отделно се получава по-голяма гъвкавост, по време на изпълнение на кода може да се замени дадена функция от масива и да се подмени начина на изпълнение на дадена команда, или просто да се забрани съответната команда. А бе хубави работи са си таблиците :)


Това е друго. Като гледам въпроса човека копа на друга нива.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Сря Дек 05, 2012 1:55 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4906
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Таблица
relsys написа:
¶ написа:
А бе хубави работи са си таблиците :)


Жена, директно адресирана също е хубава работа... :P :P :P


Абе и индиректно да е адресирана пак добре, ако я намериш на адреса който търсиш :)

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Вто Дек 11, 2012 5:27 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Май 01, 2009 4:01 pm
Мнения: 1438
Мнение Re: Таблица
Не е добре! Те тия дето прескачат по адресите такива чексуми пренасят, че ти разбъзикват калкулатора за месеци напред.


Вто Дек 11, 2012 5:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение Re: Таблица
Да бе, ама аз инддиректната адресация инак я разбирам, не тя да ти идва на адреса, щото това друго ми изглежда, а ти да попаднеш на нейния адрес, ама някак си по ... индиректно .. тръгнал си примерно за мария, ама мария я няма, на стълбите срещаш антония, която те праща при силвия да търсиш мария, па ти дали там вече ще позлваш мария или пък силвия .. това вече друг въпрос .. те на такова ми прилича индиректната адресация, въпреки че и това не е ама айде :)


Вто Дек 11, 2012 6:39 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение Re: Таблица
хммм :-k
в такъв случай за по-редките случай е добре да се ползва near pointer към функция. но е неприятно ако ти цъфне event callback.
за у дома - near pointer или направо директна адресация. а ако искаш да кажеш нещо на тъщата - индиректна


Вто Дек 11, 2012 9:04 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение Re: Таблица
Не забравяйте само да ползвате маскируеми прекъсвания, против чексуми разбъркващи калкулатора.


Вто Дек 11, 2012 9:12 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4906
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Таблица
ДедоБоре написа:
хммм :-k
в такъв случай за по-редките случай е добре да се ползва near pointer към функция. но е неприятно ако ти цъфне event callback.
за у дома - near pointer или направо директна адресация. а ако искаш да кажеш нещо на тъщата - индиректна



Хехе,
за тъщата - вместо да и кажеш директно , "-Я ходи и се е*и у газо"
да почнеш отдалече "..- абе нали знаеш птичките и пчеличките какво правят... и сега представи си, че си пчеличка в Анадола" :twisted:

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Сря Дек 12, 2012 2:36 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 39 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 31 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни