OSDev

для всех
Текущее время: 27 апр 2024, 13:16

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 03 май 2012, 07:40 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
Всё таки это я дурак. Хотя в описании тоже ошибка.
Цитата:
Примечание 1:
Байт прав доступа access_rights имеет следующий формат:

бит: описание
0: = 1
1: Бит B (Busy) - занятость задачи (см. следующую главу)
2: = 1
3: = 0
4: = 0
5,6: = DPL - Уровень привилегий сегмента TSS (см. следующую главу)
7: P - бит присутствия сегмента, обычно установлен в 1.

А в коде встречается строчка
Код:
mov   cx,10001001b

В таком виде код почти заработал. Оказывается, что там ещё один косяк - far ptr принимает не word:word, а word:long. Вот так работает в итоге:
Код:
   asm("mov %w0, _taskaddr"::"a"(main_tss_d*8));
   asm(".byte 0xEA\n.long 0x0000\n_taskaddr:\n.word 0x0000");

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 май 2012, 08:41 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Вот поэтому я и пользуюсь исключительно интеловским мануалом (и иногда амдовским), а не статьями неизвестных авторов.

А зачем вам аппаратная многозадачность, кстати? Она тормозная и систему только усложняет зря. Не просто ж так ее из 64-битного режима выкинули ;).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 май 2012, 08:52 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
VM86 же... :)
Ну и вообще, если есть - надо юзать.

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 май 2012, 08:56 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Ну и заюзайте 16-битную многозадачность, сегментацию, все четыре кольца, LDT и прочее, чтоб побольше геморроя было, чего уж там. Если аппаратный механзим кривее и медленнее аналогичного программного, то на кой хрен он вообще нужен?

А V86 еще зачем? BIOS дергать?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 май 2012, 09:18 
Аватара пользователя

Зарегистрирован: 06 мар 2012, 20:05
Сообщения: 130
Откуда: Санкт-Петербург
V86 очень нужен для работы с биосом :)

_________________
We are back with a hard even better than before [D-Block & S-Te-Fan – Evolutionz {Ran-D remix}]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 май 2012, 11:19 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
А всё же в связи с отсутствием оного в Long Mode (64 битный режим), придётся искать альтернативные решения. Для меня это пока тоже головная боль и я не придумал красивого во всех отношениях решения. Пока больше склоняюсь к программному эмулятору.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 май 2012, 12:31 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
А нету красивого решения, увы. Архитектура не способствует-с.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 май 2012, 15:15 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
Цитата:
Пока больше склоняюсь к программному эмулятору.

ИМХО иначе вообще никак. Скакать туда-сюда между х32 и х64, включая там V86 - не дело. Остаётся эмулятор.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 май 2012, 18:45 
Аватара пользователя

Зарегистрирован: 14 мар 2011, 12:31
Сообщения: 970
Откуда: Дагоба
С эмулятором две засады.
1. Непонятно, до какой глубины эмулировать процессор. Постоянно добавляются новые инструкции и не факт, что производители системного БИОСа (зная, какой именно процессор может быть установлен на мамке), не используют их.
2. Эмуляция работает очень медленно. Каждый вызов прерывания, хотя и не сильно тормозит мультизадачность, но сам по себе - настоящий achtung!
Кроме того, написание эмулятора - задача существенно посложней, чем реализация v86. Поэтому я пока ещё в сомнениях.

_________________
Yet Other Developer of Architecture.
The mistery of Yoda’s speech uncovered is:
Just an old Forth programmer Yoda was.

<<< OS Boot Tools. >>>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB