1) Этот код вообще никак не работает. Его просто нет в kernel.mnt
Макрос proc, кроме всего прочего, еще и окружает все это дело условием
if used ProcNameА префиксы входа, и макрос
ret он переопределяет только по необходимости
Умный такой макрос...
Если не записаны аргументы, и не применено
locals - ничего он и не добавит.
Такое окружение я сделал с единственной целью - чтобы в случае "большого глюка" было легче откатываться
Альтернатива была - совсем выкинуть
2)
Serge, ну я ведь тоже серьезно. Ну трудно разбираться в кодах, которые раскиданы по 3-5 файлов, когда фактически все это умещается на страничке.
Сейчас это - просто первые 200 строк в sys32 (вместе с коментариями, определениями дескрипторов, и т.п.)
Честное слово, я значительно больше трачу время, чтобы найти все хвосты, чем на рефракторинг.
Вполне серьезно. Не, ну не сумашедший же я, чтобы писать так, чтобы сам ничего не понял
Например, как заморочены IRQ - я до конца еще и не понял.
Трудно потому-что. И мне кажется, что именно такое может отбить желание.
Пример: полчаса примерно разбирался, чем же занимается
checkidle, и минут пять писал тот код, который сейчас (rev 1055).
Если бы сразу на него смотрел, то 5 минут и разбирался бы.
Это гипотеза конечно, но именно так я вполне серьезно и думаю...
Ну не пишу я так, чтобы сначала мне было понятно, а потом зашифровываю оптимизацией. Не, я сразу в таком стиле и пишу.
Ну да, когда задача уже кем-то решена, оптимальные (и понятные!!!) варианты сделать гораздо проще...
Чем когда рисуешь коды с нуля. В таком состоянии далеко не всегда знаешь чем оно закончится
А тут уже: вот оно, все и целиком, и ничего другого не будет
Это я не виноват, это закон природы такой... Я и над своими кодами издеваюсь НЕ МЕНЬШЕ... Стиль такой: работаешь, работаешь - а кодов с каждым днем становится все меньше и меньше.
А про C++ Ну блин... Порой перестаешь понимать, кто для кого: язык для нас, или мы для языка...
В ассемблере все честно - раз, два, и ты вышел на спецификацию проца...
В качестве offtopaБыла у меня история с C++
Я ведь на полном серьезии верил, что сей продвинутый ЯВУ экономит время разработки
И довольно глубоко юзал IAR-овский CPP для avr-ок
Кстати говоря, по качеству: Борман или Gcc - рядом не стояли. У них особая технология линковки, которая разрешает т.н. "проблему отложенных конструкторов". Ну это так....
Да, экономит... Если ты делаешь работу, которую можно поднять за деньА вот через пару месяцев работы посмотришь в коды, и понимаешь, что когда задача уже прояснена на столько, то сделать этот же код на ASM-е - не больше 2-х дней. При лучшем качестве.
Сравните это с 2-мя месяцами, или пол-годом...
Это при всем при том, что не просматривать с пристрастием сгенерированные коды (в дизасме, например) сим компилятором - себе дороже. У меня это настолько в привычку вошло, что я даже и kernel.mnt в hiew посматриваю (про
proc выше, это не я такой умный, это результаты наблюдений)
Есть такой фактор: ты борешься не только со своей проблемой (задачей), но и с компилятором
Serge, это все я - абсолютно серьезно. Закинул я этот компилятор
НО я никого в свою веру обращать не хочу...
Однако поверьте, рассказанное - не просто правда. Это больше чем правда. Так оно и было на самом деле
Не, ну давай я, к примеру, в три раза больше комментов писать буду....

3) Ага, понял. Спасибо
Только кое-что уточнить надо...