|
|
  |
Какие еще есть компиляторы для 8051?, Кроме Keil'а |
|
|
|
May 2 2009, 17:38
|

Профессионал
    
Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357

|
Цитата(ReAl @ May 2 2009, 21:20)  А что, big-endian аж так сильно мешает? Разумеется. Как минимум, он приводит к неэффективному выполнению операций над многобайтовыми переменными. Цитата(ReAl @ May 2 2009, 21:20)  Не знаю, как у IAR, но у AVOCET С51 лет 15 назад тоже было big endian. Толи с PL/M-51 совместимость тянется, толи ещё с чем. Я понимаю необходимость совместимости электрической розетки с вилкой, которою в нее втыкают. Но совместимость одного компилятора с другим?
|
|
|
|
|
May 27 2009, 08:38
|

Участник

Группа: Участник
Сообщений: 48
Регистрация: 7-09-07
Из: Наб.Челны
Пользователь №: 30 364

|
Цитата(Палыч @ May 3 2009, 19:06)  Интересно: какая операция выполняется для big endian менее эффективно? Приведите пример, пожалуйста. любая операция над xdata unsigned long (или xdata unsigned short). Младший байт последний, а DEC DPTR не предусмотрено...
|
|
|
|
|
May 27 2009, 15:28
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(Intel4004 @ May 27 2009, 11:38)  Младший байт последний, а DEC DPTR не предусмотрено... И - что? Какая разница с какого байта забрать переменную в регистры? Вы, наверное, хотите сказать, что "руками" Вы напишите очень компактный код - эквивалент оператора, например, А+=5; (где А имеет тип xdata long), при этом обойдётесь только ACC и DPTR, если порядок байт little endian... Вот, только, транслятор вряд ли сгенерит такой же код даже при little endian. Парадигма генерации кода у него другая. И оптимизатор до Вашего кода - не вытянет. Правда я видывал транслятор, который умудрялся даже циклы оптимизировать до небольшой линейной последовательности. Но в него были вложены годы труда и многие миллионы...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|