OSDev http://osdev.su/ |
|
"H2O"-моя опеационная система - основная идея http://osdev.su/viewtopic.php?f=4&t=488 |
Страница 2 из 3 |
Автор: | iz56 [ 20 июл 2012, 13:29 ] |
Заголовок сообщения: | Re: "H2O"-моя операционная система - основная идея |
Проблема длинных имён или путей - к примеру имя корневой папки + имена последующих и на каком-то этапе упираемся в ограничение доса на общую длину пути имени файла - конкретно не помню число - такое было в других моих изысканиях. А ОС ДОС очень удобна для быстой перезагрузки на всех моих комп.. |
Автор: | Freeman [ 20 июл 2012, 14:33 ] |
Заголовок сообщения: | Re: "H2O"-моя операционная система - основная идея |
Не знаю, откуда взялось число 56 в нике и названиях, но .56 как расширение файлов или даже (кодовое) название проекта выглядит очень стильно -- по-военному и по-хакерски одновременно. Лично у меня вызвает ассоциации с Hangar 18. iz56 писал(а): А ОС ДОС очень удобна для быстой перезагрузки на всех моих комп.. Для первых прототипов мы рассматриваем возможность запуска в HX и планируем писать так, чтобы поддерживать с ним совместимость. Очень хорошая штука как в плане функциональности, так и проработанности и аккуратности исходного кода, -- называю это собирательным понятием "школа". |
Автор: | iz56 [ 31 дек 2012, 00:57 ] |
Заголовок сообщения: | Re: "H2O"-моя опеационная система - основная идея |
Что-то подобное делают на http://fforum.winglion.ru/viewforum.php?f=16. Только для Форта. Во всяком случае, обсуждается ВМ (в качестве основы ОС) и немного вокруг неё. |
Автор: | iz56 [ 04 сен 2013, 11:10 ] |
Заголовок сообщения: | Re: "H2O"-моя опеационная система - основная идея |
Пишу ассемблер. Не думал что столько сложностей будет. Пришлось изменить одну команду для вызова подпрограмм. Как переведу текст из вида макросов для фасма в исх. текст для своего компилятора и при условии что будет ассемблер сам себя собирать - сразу опубликую здесь архив .Лицензия или как правильно в данном случае - достояние общественности. На данный момент сделана работа с метками и перевод хекс чисел. |
Автор: | maisvendoo [ 04 сен 2013, 13:08 ] |
Заголовок сообщения: | Re: "H2O"-моя опеационная система - основная идея |
iz56 писал(а): Пишу ассемблер. Не думал что столько сложностей будет. А зачем понадобился именно самописный ассемблер? Хотя это сродни вопросу а зачем всем тут понадобилась самописная ОС . Но всё же интересно, для чего нужен специфический транслятор? |
Автор: | iz56 [ 04 сен 2013, 21:49 ] |
Заголовок сообщения: | Re: "H2O"-моя опеационная система - основная идея |
Что бы было понятней, привожу пример кода - сегодня выделил в отдельную подпрограмму . Здесь вычисляется хэш-значение меток для помещения их в таблицу вида - хеш метки - соответствующий метке адрес . Хотя и наоборот ,возможно, понятней не будет. Код: ;sub-----------------------[ Sub_CalcHash ] ;адрес лексемы должен быть в Sub_CalcHash.A dd 0 CalcHash: Sub_CalcHash =$/4 putMemConst .hash,HASHVALUE ;init .hash start value for make CRC32 putMemConst .C,0 putMemMem .B,.A ;.A = arg = ptr on string .NextCh = $/4 putMem_Mem_ .A,.B jmpLabelIfMemEConst .l1, .A, _Space ;если .A = const jmpLabelIfMemEConst .l1, .A, SPEC_CH_LABEL ;если .A = const jmpLabelIfMemEConst .l1, .A, SPEC_CH_LABEL ;если .A = const jmpLabelIfMemZ .l1,.A ; (if .A = 0 then goto .l1) addMemMem .hash,.A ;.hash = .hash +.A (без учета переноса) shlMemConst .hash,1 ;cut 1 bits incMem .B incMem .C jmpLabelIfMemEConst .l1,.C , _MaxSizeLex jmpLabel .NextCh ;goto next char .l1 =$/4 ;конец рыбалки:) putMemMem .A,.hash ;.A = return value jmpMem Sub_CalcHash - 1 .hash = $/4 dd 0 .A = $/4 dd 0 .B = $/4 dd 0 .C = $/4 dd 0 |
Автор: | Himik [ 05 сен 2013, 11:23 ] |
Заголовок сообщения: | Re: "H2O"-моя опеационная система - основная идея |
Кажется, пример демонстрирует короткие имена регистров и длинные имена инструкций. Наверняка их можно задать макросами в любом Ассемблере. Это всё малозначительный синтаксический сахар. Мне когда-то хотелось иметь Ассемблер со строгой типизацией. Ещё чтобы он отслеживал неявные изменения регистров. Ведь некоторые сложные инструкции принимают или возвращают сразу несколько регистров, при этом в обычном синтаксисе этого не видно, что плохо. Теперь я уже ассемблерами не увлекаюсь, это слишком экстремальное программирование. |
Автор: | iz56 [ 05 сен 2013, 12:23 ] |
Заголовок сообщения: | Re: "H2O"-моя опеационная система - основная идея |
Это всё фасм макросы - а я хочу всё покороче и вида x86 инструкций. Пример компилируется фасмом. |
Автор: | Himik [ 05 сен 2013, 12:36 ] |
Заголовок сообщения: | Re: "H2O"-моя опеационная система - основная идея |
А, я думал это твой Ассемблер. А что, FASM не понимает обычные трёхбуквенные мнемоники? В конце концов и макросы можно переименовать. |
Автор: | iz56 [ 05 сен 2013, 22:12 ] |
Заголовок сообщения: | Re: "H2O"-моя опеационная система - основная идея |
Проблема в размере одного байта. Я пытаюсь построить всё с нуля и без оглядки на догмы. Почему байт должен быть 8 бит. И потому приспособить фасм трудно, хотя приспособил же как-то. Я выбрал не самый простой путь - писать ассемблер для вм сразу для этой вм. Это немного похоже на программирование в машинных кодах, когда других программ для целевой (в данном случае вм) архитектуры. В условиях, когда ничего подобного компиляторам не писал. Да ещё без привычных регистров и стека. И с потоками и виртуальным оборудованием . Вот эта сложность сама по себе вызывает интерес и мотивацию для продолжения. |
Страница 2 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |