|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.11.2013, 17:49 | #71 |
Пользователь
Регистрация: 07.11.2013
Сообщений: 20
|
Опс. На DOSBox 0.74 и правда работатет. На QEMU не пробовал, решил пойти по кратчайшему пути(и скрины уж жутко пугающие))). На VMware не работает. Странно, ну ладн фиг с ним.
|
11.11.2013, 18:12 | #72 |
Пользователь
Регистрация: 07.11.2013
Сообщений: 20
|
Да, ещё кстати никак не могу въехать в этот кусок:
Код:
Так почему бы просто не написать Код:
Код:
|
12.11.2013, 13:38 | #73 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Я вот не читал книжку, но это обязано быть обьяснено в ней. Сброс всех регистров адреса и сегментов происходит в момент передачи управления в другое место кода. Т.е. либо командами длинного перехода, либо вызова подпрограммы.
|
12.11.2013, 22:09 | #74 |
Пользователь
Регистрация: 07.11.2013
Сообщений: 20
|
А чего их сбрасывать? мы же перд этим ихтолько что установили:
Код:
|
12.11.2013, 23:08 | #75 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Ей богу в книге должно быть это написано, а у меня не такой литературно понятный язык ;-)
Физически в процессоре эти регистры занимают то ли больше бит, чем мы видим программно, то ли просто используются в разных режимах по разному(не помню уже точно) и чтобы начать использовать их именно так, как и должно быть в защищенном режиме, нужно совершать длинный переход. Т.е. это аппаратная тонкость такая. |
13.11.2013, 10:54 | #76 |
Пользователь
Регистрация: 07.11.2013
Сообщений: 20
|
Прыжок был раньше.
Код:
"Первую команду защищённого режима мы записали в виде её опкода. Адрес прыжка мы вычислили во время подготовки. Далее идёт загрузка сегментных регистров (регистра сегмента данных и регистра сегмента работы со строками). Потом идёт код, который выводит строку на экран. Для этого просто копируется строка в видеопамять." Или вы хотите сказать, что как только поменяли сегментные регистры, то надо прыгать опять в ту же область длинным прыжком чтобы изменения вступили в силу? |
13.11.2013, 15:48 | #77 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
то есть коду не важно где именно в памяти окажется код, он всегда может найти сам себя. поидее можно было бы относительный прыжок, но может размаха не хватает, не читал, не знаю. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
13.11.2013, 18:19 | #78 |
Форумчанин
Регистрация: 01.12.2009
Сообщений: 569
|
Запоздал с поздравлениями, но... гру3ин, поздравляю с авторской работой уровня системного программирования, не ожидал от вас такого
З.Ы. А как же лурчанка? |
13.11.2013, 18:55 | #79 | |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
Цитата:
|
|
14.11.2013, 00:08 | #80 | |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программирование на Ассемблере | Николай ПН | Помощь студентам | 3 | 23.03.2010 00:56 |
Программирование микроконтроллера 80С196КС на ассемблере | KOCT9IH | Фриланс | 3 | 07.11.2008 13:03 |
На форуме был замечен супермодератор - Руслан. | Alar | О форуме и сайтах клуба | 17 | 25.07.2008 21:01 |