не совсем. я менял, оська запускалась до инициализации чего-то и тухла. должно быть что-то ещё, но что, я так и не понял. 8-битный авр - вот предел моего асма
видимо не только она, а еще и команды из той лодки WRMSR - Write the value in EDX:EAX to MSR specified by ECX RDMSR - Load MSR specified by ECX into EDX:EAX
в далёком прошлом когда начал программировать на вижуал бэсике (тогда достаточно модном), меня всё больше и больше терзала платформенность того что я пишу (на тот момент написал какаю то управляшку с лпт, саморазмножающийся "вирус" на основе скриптов и блокнот умеющий читать более 5кило в отличии от микрософтовского, который тупо вис на неопределённое время ) порой бросал и удалял всё начатое... пока не увидел какой-то пик одноразовый (с индексом С) у отца на работе, там дядька сослуживец замутил на нём (на пике) машинку сыну, всего 4 команды и те на проводном пульте, но тогда то я и понял, что всё что пишется на компе не имеет особой для меня ценности из-за того, что нельзя принести к другу в школу это убожество с быдлокодом и продемонстрировать как это чудо ещё и работает! с тех пор сожжено не мало камней а программирование на пк начал осваивать с ноля, т.к. си это не виж.бэйс )
правда сейчас появились в народе компы которые работают от батареек и носятся в кармане... но это уже другая история )))
прошу пардона муа за флуд и офф-топ )))
Подождем. Может быть авторы системы когда-нибудь на минутку освободятся и перекомпилируют систему для 486. Вообще, говоря о Visual Basic, даже в QBasic была опция "компилировать для 286". Компилятор сам искал то, что идет на пентиумах и "эмулировал" в виде, который может быть исполнен на 80286. То есть в таком ассемблере Колибри ОС можно компилировать под любые процессоры, если бы он был. Другое дело, если вопрос касается ОЗУ, к которому 486 не может обратиться в отличие от пентиума, тогда все скомпилируется как надо, но работать не будет. И это знают только разработчики.
ps:
Это к вопросу, что рано или поздно необходимо будет произвести разделение кода - низкий, машинозависимый уровень и верхний. Для разных камней останется править только нижний.
vkolibri wrote:Может быть авторы системы когда-нибудь на минутку освободятся и перекомпилируют систему для 486. Вообще, говоря о Visual Basic, даже в QBasic была опция "компилировать для 286". Компилятор сам искал то, что идет на пентиумах и "эмулировал" в виде, который может быть исполнен на 80286. То есть в таком ассемблере Колибри ОС можно компилировать под любые процессоры, если бы он был. Другое дело, если вопрос касается ОЗУ, к которому 486 не может обратиться в отличие от пентиума, тогда все скомпилируется как надо, но работать не будет. И это знают только разработчики.
ps:
Это к вопросу, что рано или поздно необходимо будет произвести разделение кода - низкий, машинозависимый уровень и верхний. Для разных камней останется править только нижний.
Это мнение большого специалиста в ФАСМ?
Spoiler:Тему не читай - мозг сразу отключай.
Mario_r4 wrote:Это мнение большого специалиста в ФАСМ?
Неа, просто фантазирую. Понравилась сама идея. При встрече сложной (для 80486) команды, смотреть флажок компиляции и "разворачивать" код для 286. Если флажка нет, тупо вставлять инструкции пентиум.
Ну вот и помечтал, что такой бы компилятор отыскать, он и под ARM скомпилирует, останется только с портами и памятью разобраться.
Last edited by vkolibri on Fri Oct 25, 2013 6:10 pm, edited 1 time in total.
видимо не только она, а еще и команды из той лодки WRMSR - Write the value in EDX:EAX to MSR specified by ECX RDMSR - Load MSR specified by ECX into EDX:EAX
не совсем. я менял, оська запускалась до инициализации чего-то и тухла. должно быть что-то ещё, но что, я так и не понял. 8-битный авр - вот предел моего асма
Я к тому, что начинать нужно было с этих 5 строчек, которые вам обоим предложили попробовать, а уже если это не помогало, то отписываться на форуме и ждать дальнейших инструкций. (А не писать сразу, что всё сложно и перечитывать все исходники ядра нет времени и знаний).
Akyltist wrote:
yogev_ezra wrote:Используется RDTSC
видимо не только она, а еще и команды из той лодки WRMSR - Write the value in EDX:EAX to MSR specified by ECX RDMSR - Load MSR specified by ECX into EDX:EAX
А, скажите, не нашлось бы у вас минутки, чтобы в вышеуказанных файлах тупо произвести замену:
++++++++++++++
rdtsc
------------------
на
++++++++++++++
mov eax,1000000
mov edx,1000000
------------------
и скомпилировать вышеуказанные файлы? У вас настроен ассемблер, или надо инсталлировать?
Понятно, что значение в регистрах будет левым, но хотя бы пусть на одной частоте поработает для теста, главное запустить. Что-то я не могу уняться =)
если зависнет, то:
++++++++++++++
add eax,1
mov edx,1000000
------------------
Пускай наугад считает
Last edited by vkolibri on Mon Oct 28, 2013 3:35 pm, edited 1 time in total.