The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Компания System76 занялась портированием CoreBoot для платфо..."
Отправлено Ordu, 29-Июл-20 23:43 
>> догадки, причём неполные: а что будет, если сделать outb(port-1, value+1)?
> Скорее всего ничего хорошего - потому что там будут bit fields какие-нибудь,
> для начала, и попытка с ними поработать вот прямо так ...
> может прийти в бошку только какому-нибудь математику-теоретику, который вообще не в
> курсах как железки устроены :)

Да какая разница, кому пришло в голову поработать так? Главное что ты посмотрев код, работающий с железкой, не узнал ничего нового: всё что можешь ответить на поставленный вопрос -- то же самое, что ты можешь ответить не глядя в код, то есть пытаться обесценить вопрос, доказывать, что вопрос не заслуживает ответа, рассказывать про математика-теоретика, который в отличие от умного тебя туп безбожно и ничего не понимает в железе. Но на вопрос-то ты не можешь ответить, а не математик, так? ;)

И да, не над оскорблять операции сложения и вычитания, мол, они только математику-теоретику в голову придти могут. Эти операции не могут придти в голову современному системному программисту, которому вдолбили в голову, что если value представляет собой битфилд, то его собирать надо при помощи побитового ИЛИ из предопределённых констант. Хрен тут был и сбоку бантик. value+1 можно использовать для того, чтобы установить младший бит, например (если он ноль конечно). Можно использовать для того, чтобы сбросить младший бит, и установить тот, что постарше. Можно инвертировать 0xff. Можно число вида 0b00...11 превратить в 0b00..010..00, и это новое число будет равно 2^n, где n -- это количество ненулевых бит в исходном числе. И всё это великолепие одной командой процессора (правда похерив флаги). Сегодня так не делают, потому что это "грязные хаки", которые выносят мозг неподготовленным, и те начинают кричать, что "код нечитабельный". В 80-е и раньше такой стиль был нормой (не везде конечно, но на PC я видел немало такого), потому как экономия одной машинной команды -- это было хорошо. Писать так было нормой, а если ты умел читать такой код и понимать, то ты был крутым специалистом.

> Да и периферия нынче в таком формате шпрехать не изволит - поскольку
> на асме уже не модно, железки как-то резко стали memmapped. У
> ip-блока есть некий регион и там живет его кучка регистров. И
> сорец это как правило и описывает и более менее понятно что
> это за фигня и как работает.

С портами, сорец скорее всего тоже давал номерам портов всякие хорошие имена, это принципиально не меняет ничего.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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