0 / 0 / 0
Регистрация: 17.03.2021
Сообщений: 7
|
||||||
1 | ||||||
NASM Ошибка компляции из-за ошибки в коде18.08.2021, 12:51. Показов 1589. Ответов 6
Я пишу(вернее пытаюсь) свою ОС. Значит решил я добавить систему ввода-вывода с клавиатуры, а мне выдается ошибка:
qkernel.asm:75: error: symbol `data' undefined
0
|
18.08.2021, 12:51 | |
Ответы с готовыми решениями:
6
Ошибка компляции Template ошибка компляции Ошибки в коде Qt - ошибка: undefined reference to `qMain(int, char**)'; ошибка: error: ld returned 1 exit status Не понимаю, что за ошибка в коде. Скрин ошибки внутри |
Модератор
|
|
18.08.2021, 15:10 | 2 |
tov_mayor, отвечаю с некоторым страхом - человек, пишущий ОС, уже знает язык программирования, а в вашем случае это явно не так, т.е. последуют другие вопросы по алгоритмам и другим инструкциям.
Первые 4 ошибки - нет определения сегмента с именем data, и нет переменной с именем string. Не знаю, насколько нужен в данном случае сегмент данных - разбирайтесь самостоятельно. Раз вы переключились в защищённый режим - после этого неработоспособны сервисы BIOS и DOS (прерывания int 16h, int 21h). Там что-то другое используют, вероятнее всего - прямой вывод в видеопамять и перехват прерывания от клавиатуры (вместе с другими аппаратными прерываниями). Хотя в последнем могу и ошибаться - системное программирование никогда не интересовало.
2
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
18.08.2021, 20:45 | 3 |
И не зря:
1) Загрузочный сектор - написан с ошибкой; 2) jmp 0x0000 - CS=0, IP=0; 3) переход в РМ - это, как минимум несколько килограмм, а не 512-ть байт; 4) Исключения - которые настраиваются в Interrupt Descriptor Table, IDT(= таймер, видео, звук, клава, хард остальные причандалы, это, как минимум), а ссылка на неё прописывается Global Descriptor Table, GDT; 5) Под каждую задачу создается Local Descriptor Table, LDT, а ссылка на неё прописываетсяв в GDT; 6) . . . М) Это, только минимум, что нужно знать, чтобы провести пару минут в РМ. tov_mayor, Начните с п. №1, после этого начните на пару секунд ходить в РМ, изучайте этот РМ.
1
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
18.08.2021, 21:47 | 4 |
В догонку:
это 3616 2916 = 6) 9С16 2916 = М) 9С16 - 3616 = 6616 = 10210 пунктов, которые Вы должны знать.
0
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
18.08.2021, 23:19 | 6 |
politoto, Там всё удалять нужно.
я писал чуть выше.
0
|
3406 / 1825 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
19.08.2021, 15:24 | 7 |
politoto,
Он переходит в эту точку, а там интерапты BIOS, которые CPU начнет выполнять как программу( хотя, там только адреса СS:IP прерываний.), CPU об этом не знает, и как послушная овца, начнет все выполнять(что там написано => X/3). Куда Юзер попадет X/3. Я выше писал После 10-го - Юзер либо бросит это, либо попробует пройти на 20-тый левэл. И так пока не будет 80 : 90 - ый левел, но на этом уровне Юзер, уже стал: Кодером = Дальше либо "Фанат Идеи", либо "Это была моя Мечта".
0
|
19.08.2021, 15:24 | |
19.08.2021, 15:24 | |
Помогаю со студенческими работами здесь
7
Ошибка после точки: найти причины возникновения ошибок в коде и исправить эти ошибки Admin panel не правильно работает из-за ошибки в models.py Разобрался где в коде ошибка но как исправить её? Ошибка компляции после смены платформы с Windows CE (Compact Framework) на Windows (NET Framework) Найти ошибки в коде и исправить эти ошибки (Наследование) Ошибка в коде взаимодействия клиента и сервера на основе протокола TCP/IP (ошибка в коде) Найти ошибки в коде и исправить эти ошибки - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |