> man operating_systems
Переход на страницу  1 2 [3] 4 5
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
nnivanov
Воскресенье 10.04.2005 22:23

ID пользователя #253
Зарегистрирован: Вторник 29.03.2005 01:18
Местонахождение: Russia, Velikiy Novgorod
Сообщений: 123
2Dreamer: а у меня первичный загрузчик записывает в память вторичный загрузчик и само ядро. Ядро помещается по адресу 8000. Вторичный загрузчик содержит gdt и код перехода в Protected Mode, затем прыгает в ядро (8000). На as86 все работало, а когда стал переводить в AT&T (as), началась головоломка. Но теперь справлюсь.

- Зачем мотоциклу реактивный двигатель?
- Да потому что нам так нравится!
Discovery Channel
Наверх
Сайт
Dron
Понедельник 11.04.2005 10:33


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Кстати это тоже важный момент, может сам дескриптор GDT корявым быть... короче в боще пошаговая отладка плюс команды dump_cpu, info gdt все проясняют. дерзайте. (Я то этот этап прошел года два или три назад

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
nnivanov
Понедельник 11.04.2005 13:53

ID пользователя #253
Зарегистрирован: Вторник 29.03.2005 01:18
Местонахождение: Russia, Velikiy Novgorod
Сообщений: 123
2Dron: Ошбку нашел. Оказывается корявым был опкод jmp. Дело в том, что as записывает эту команду иначе, чем as86 и nasm. Там надо было вместо .word 0x08 писать .word 0x0008. С GDT все нормально: команда info gdt выручила. Кстати, просмотрел всю документацию и нигде не встретил ее. А команда действительно полезная. Эта же проблема выскочила в первичном загрузчике, т. е. я загрузил ядро неизвестно куда.

Отсюда совет всем: если захотите переводить свой код в AT&T, помните: 1) as не терпит умолчаний. 2) .word 0xAABB интерпретируется как .byte 0xBB .byte 0xAA. Можете даже сравнить описание gdt в старых Linux-ах (на as86) и в новых (на as) - начиная с 2.4.x.

Спасибо всем огромное. Bochs - отличная вещь! Пойду исправлять свои ошибки.

- Зачем мотоциклу реактивный двигатель?
- Да потому что нам так нравится!
Discovery Channel
Наверх
Сайт
Dreamer
Понедельник 11.04.2005 18:35

ID пользователя #9
Зарегистрирован: Воскресенье 04.07.2004 14:01
Сообщений: 235
Ну вот теперь и говорите, что AT&T рулит. Fasm и DJGPP - the Best!

Жизнь на Линуксе есть!
Наверх
nnivanov
Понедельник 11.04.2005 19:02

ID пользователя #253
Зарегистрирован: Вторник 29.03.2005 01:18
Местонахождение: Russia, Velikiy Novgorod
Сообщений: 123
Я писал на nasm, as86, fasm и as. Меньше всего понравился as86 (наверно из-за недостатка документации). Однако у каждого свои преимущества и свои недостатки. А синтаксисы Intel и AT&T вообще не сравинвают: кому что больше нравится. Я вырос на Unix-системах и мне, конечно же ближе AT&T, но это ничего не значит. А что такое DJGPP?

- Зачем мотоциклу реактивный двигатель?
- Да потому что нам так нравится!
Discovery Channel
Наверх
Сайт
Dron
Вторник 12.04.2005 10:53


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
djgpp это порт gcc под дос...
Я вырос на интелевском синтаксисе..
но fasm - давить!!! nasm рулит!

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
Dron
Вторник 12.04.2005 11:22


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
МЕня кстати подбивают переводить код в at&t, но я не вижу особых приемуществ по сравнению с nasm... а в насме уже много наворочал - 400 килобайт сырцов...
Куда уж их теперь менять... в другой жизни как нибудь.

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
nnivanov
Вторник 12.04.2005 15:41

ID пользователя #253
Зарегистрирован: Вторник 29.03.2005 01:18
Местонахождение: Russia, Velikiy Novgorod
Сообщений: 123
2Dron: Много! Я стараюсь больше на C давить, чтобы не было проблем с переносимостью. А на AT&T я стал переводить в основном ради красоты. Код ядра испещерен ассемблерными вставками в стиле AT&T.

- Зачем мотоциклу реактивный двигатель?
- Да потому что нам так нравится!
Discovery Channel
Наверх
Сайт
Dron
Вторник 12.04.2005 17:00


ID пользователя #13
Зарегистрирован: Понедельник 05.07.2004 11:16
Местонахождение: Москва
Сообщений: 651
Я дабы не распыляться пишу все ядро на асме... мне так понятнее и проще.

Одну из двух вечных российских проблем можно, в принципе, решить с помощью асфальтоукладчиков и катков. А вот с дорогами, конечно, будет труднее...

Андрей Валяев
Наверх
Сайт
Dreamer
Вторник 12.04.2005 19:33

ID пользователя #9
Зарегистрирован: Воскресенье 04.07.2004 14:01
Сообщений: 235
А чем тебе не нравится fasm? Документация большая, никак прочитать не можешь? NASM - г. Что-то сомневаюсь, что он поддерживает СТЛЬКО форматов, как Fasm.

Жизнь на Линуксе есть!
Наверх
Переход на страницу  1 2 [3] 4 5  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.