|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.06.2018, 15:47 | #1 |
Новичок
Джуниор
Регистрация: 04.06.2018
Сообщений: 4
|
Дополнительные регистры в Debug 16-bit
Подобная тема уже была, но там ответа так никто и не дал. Задача: найти два регистра, не отображаемых в 16-битном дебаге, объяснить что это за регистры, как называются, чем занимаются и почему не выводятся (путём поисков нашёл, что это GS и FS, но по ним инфы не нарыл).
Прошу помощи, только что C и Паскаль сдавал, ночь не спал, голова не соображает, ничего найти в текстах того же Питера Абеля не могу. Большущая просьба именно объяснить, а не скинуть ссыль на вики или подобное, очень надеюсь на помощь. P.S. От вашей помощи зависит моя стипуха, так как это единственный предмет, который я не могу сдать в своей мухосранской шараге на 4/5 из-за преподши - маразматички и совершенно неинтересного содержания лекций. Последний раз редактировалось Vantozik; 04.06.2018 в 16:00. |
04.06.2018, 16:01 | #2 | |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
Цитата:
Или даже поиск по форуму: http://www.programmersforum.ru/showthread.php?t=116961
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
|
04.06.2018, 18:00 | #3 |
Новичок
Джуниор
Регистрация: 04.06.2018
Сообщений: 4
|
Бабке, которая принимает экзамен, нужна точная инфа: почему эти регистры не использовались в 8086? Из-за особенностей архитектуры? Если да, то что за особенность и что за изменение этой самой архитектуры в 80386 позволило безболезненно добавить ещё 2 регистра?...
|
04.06.2018, 18:05 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
А почему мой старый телек не показывает цвет? Это ж легко...
А так можно долго рассуждать: как msw вдруг разросся до 8 регистров и почему в 8086 не использовались DRx. |
04.06.2018, 19:00 | #5 |
Новичок
Джуниор
Регистрация: 04.06.2018
Сообщений: 4
|
К сожалению, подобными рассуждениями я её не растрогаю, нужны именно факты.
|
04.06.2018, 19:34 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Какие факты? Идет прогресс, технологии развиваются, процессоры улучшаются.
Вот добавились DRx регистры или SSE, или AVX, или ... какие факты вам нужны для обоснования этого? |
04.06.2018, 20:32 | #7 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Сегментные регистры появились в 1978 году вместе с процессором i8086.
В то время их было всего 4: Код:
Так.., адрес начала сегмента-кода находится в регистре(CS), сегмента-данных(DS) и т.д. Под досом, для команд ассемблера существовали соглашения по умолчанию: адреса переходов вычислялись по регистру(CS), обращения к данным - по регистру(DS), а обращения к стеку – по регистру(SS). Это был рассвет системы MS-DOS, и чтобы программистам было легче отлавливать в своих программах ошибки, был придуман упомянутый выше отладчик 'DEBUG'. Кстати, есть серьёзное предположение, что отладчики назвали так в честь жука (по анг.Bug), который залез в компьютер и чем-то нарушил его работу. Так появился De'Bug - убийца жуков, официальная поддержка которого в последующем была заброшена, хотя программистам идея понравилась и они стали развивать её сами. -------------------------------- В 1982 году появился новый процессор i80286, который презентовал революционное решение - защищённый режим! Он был по-прежнему 16-битным, но уже в 1985 году превратился в 32-битный i80386 - первый достойный внимания процессор с адресацией памяти в 4Gb. В 386-ом полностью была переработана модель памяти, для поддержки которой было добавлено свыше (!)200 новых регистров. Это регистры: управления процессором CR0-4, управления памятью GDTR/LDTR/IDTR/TR, огромное кол-во машинных MSR-регистров, Debug-регистры DR0-7, тестовые регистры TR3-7 и т.д. и т.п. Вместе с дивизионом системных регистров, появились и 2 новых сегментных регистра GS/FS. Трудно предугадать, что двигало разработчиками, когда они давали названия этим регистрам (ведь нас там не было) - в отличии от основных, их литеры нигде не документированы. Однако в сети можно встретить довольно убедительный вариант - General Segment(GS). Второй(FS) добавили в нагрузку по-алфавиту, поэтому назначение их совпадают. Кстати, все сегментные регистры на самом деле не 16-битные, а 10-байтные, 8 из которых скрыты от программиста - в них загружаются дескрипторы из GDT. Чистокровный отладчик MS-DEBUG появился на свет раньше процессора 386 с регистрами GS/FS, поэтому он и не видит их. Не понимает дебуг и новые инструкции, которыми природа щедро одарила 386. Однако существуют и 32-битные консольные отладчики, заточенные специально под i386+, например 'GRDB' от компании 'LADsoft'. Он как птица-говорун отличается от 'DEBUG' и знаком уже с FPU/PCI регистрами, с точками-останова(ВР), и имеет многие/другие вкусности. Одним словом, дебуг по сравнении с ним - полный отстой: Код:
Нашедшего выход - затаптывают первым..
|
05.06.2018, 05:20 | #8 |
Пользователь
Регистрация: 04.04.2018
Сообщений: 28
|
Вот только что эта тема делает в разделе Delphi???
|
05.06.2018, 07:40 | #9 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,550
|
Delphi - это девичья фамилия ассемблера ? Именно там у меня видится обсуждаемая тема - или только у меня ?
|
05.06.2018, 08:55 | #10 |
Новичок
Джуниор
Регистрация: 04.06.2018
Сообщений: 4
|
Новичок на форуме, особо в системе отзывов не разобрался, но хочу пожать руку R71MT за полный развёрнутый ответ на скомканно поставленный вопрос. Лучи добра тебе, друг.
Последний раз редактировалось Vantozik; 05.06.2018 в 08:59. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
регистры | pcmax | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 20.04.2018 03:20 |
Регистры | olenka1808las | Общие вопросы C/C++ | 17 | 17.09.2013 18:19 |
Импорт 32-bit dll в 64-bit | valchakov | Общие вопросы Delphi | 8 | 25.12.2009 15:18 |
Регистры | Волк | Microsoft Office Excel | 9 | 08.04.2009 16:07 |
Регистры | Манжосов Денис :) | Помощь студентам | 8 | 28.07.2008 12:48 |