The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Операционной системе Unix исполнилось 40 лет"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Операционной системе Unix исполнилось 40 лет" +/
Сообщение от dq0s4y71 (?), 24-Авг-09, 13:37 
>Более извращенную чем х86 архитектуру я знаю только одну - Microchip PIC16
>:D.Но по общей уродливости и костыльности х86 впереди планеты всей.

По-моему, у каждой архитектуры есть свои уродства. Помню, когда начинал изучать ARM, меня убило то, что при косвенной адресации, если адрес не выровнен по границе 32 бит, данные копируются с операцией вращения! То есть, если пишешь, например, что-нибудь типа

char buffer[];
...
long var = *(long*)&buffer[1];

компилятор сгенерит _правильные_ инструкции

LDR       R0,[PC,buffer]
LDR       R7,[R0,#0x0001]

но процессор скопирует в переменную не 4 байта подряд, начиная со второго, как было бы на всех нормальных архитектурах, а в такой последовательности: второй, третий, минус первый и нулевой! O_o При этом старые АРМы даже никаких исключений не генерят! Так что об этой милой фиче всегда приходится помнить и писать что-нибудь типа *(long __packed*)...

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Операционной системе Unix исполнилось 40 лет, opennews, 21-Авг-09, 10:03  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру