|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.03.2012, 11:46 | #11 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
А мне почему-то намного больше до сих пор импонирует встроенный просмотрщик DosNavigator-а. Вот только одна засада - он только имеющиеся символы меняет...
Цитата:
Правильно поставленная задача - три четверти решения.
|
|
28.03.2012, 16:28 | #12 |
Форумчанин
Регистрация: 02.04.2011
Сообщений: 136
|
Хуууу..... Одному учить Assembler это .... что-то... читаю 3 книжки подряд: бумажную Юрова, с экрана Абель и Зубков! Голова кипит....
К делу! Появилось несколько вопросов! 1) С debug ! Ссылка Serge_Bliznykov-а и некоторые статьи я начал вьезжать что же такое debug! Это что-то типа отладчика поставляемого с Windows?? И вполне ли им реально отлаживать программы не только com но и написынаем с пом. MASM, FASM? И почему его тогда так не активно используют как SoftIce или OllyDbg? 2) бинарный редактор это что такое? (тоесть все типа hiew, winhex и др.) (сам бы hiew испол. но лекарств не нашёл) 3) ГЛАВНАЯ ПРОБЛЕМА!!! У Зубкова читал.... да собственно вот! Обьясниет что же это такое сегментные регистры??? Очень прошу!(( С простыми регистрами понял а это... целый день в голове кипит!( 4)А почему ,когда на весы жму, репутация не прибавляется ни тому кому прибавлял прошлый раз, ни тому кому первый! Пишит что-то типа кому то ещё нужно добавить и пишит это в обоих случаех!??? Последний раз редактировалось BlackFishSQL; 28.03.2012 в 16:44. |
28.03.2012, 18:17 | #13 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
2. Это редактор, который позволяет редактировать не только вводом символов, но и вводом кодов этих символов - т.е. ввёл 32(20h) и получил пробел и т.п.
3. проблема была в том, что доступ к памяти в 8086 был 20-ти разрядный (адресация до 1 Мб ОЗУ), а регистры - 16ти разрядные (адресация до 64 кБ). т.е. адресоваться к любой ячейке они просто физически не могли. Поэтому были сделаны спарки из двух регистров - сегментные и индексные, где адрес содержащийся в сегменте смещался на 4 бита влево и к нему прибавлялся индексный регистр: Код:
Правильно поставленная задача - три четверти решения.
Последний раз редактировалось DiemonStar; 28.03.2012 в 18:21. |
28.03.2012, 18:25 | #14 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
1)кто сказал что это прям идеальный отладчик?
2)http://ru.wikipedia.org/wiki/Двоичный_файл во вложении например тот самый ваш com файл. 3)там же все написано ж...что не понятно то? 4)значит когда то уже прибавляли. там надо более чем 5 людям прибавить, прежде чем снова тому же человеку добавлять. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
28.03.2012, 18:54 | #15 |
Форумчанин
Регистрация: 02.04.2011
Сообщений: 136
|
Не понятна само определение сегмента(что это такое(физ.кое или усл.ное), где)!) Чуток подразберусь напишу с чем именно проблемы!)
Спасибо Вам Огромное DiemonStar и Пепел Феникса! p.s. спс за картинку! я с помощью winhex сваял! только у человека в статье после того как в ком.строке. -> debug myprg_1.com-> -U (вылезет знак - и ввести команду u (Unassemble)) -> то что выбивает ему Код:
Фактически после маш. ком. СD 20 (аля int 20) должен идти выход но.. при трассировке он "идет куда-то в даль" неостанавливается! Содерживое в winhex Код:
|
28.03.2012, 19:03 | #16 | ||
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Цитата:
Правильно поставленная задача - три четверти решения.
|
||
28.03.2012, 19:13 | #17 | |
Форумчанин
Регистрация: 02.04.2011
Сообщений: 136
|
Цитата:
|
|
29.03.2012, 08:22 | #18 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Из аппаратных отличий:
- сегментные регистры не подвержены математическим операциям, т.е. в АЛУ они не используются - нет прямого присваивания значений сегментных регистров - только передача значений через регистры общего назначения или стек - вычисление физического адреса происходит автоматически в контроллере ОЗУ
Правильно поставленная задача - три четверти решения.
|
29.03.2012, 14:20 | #19 |
Форумчанин
Регистрация: 02.04.2011
Сообщений: 136
|
DiemonStar Спасибо за обьяснения!) Я пока ещё это всё не переварил (очень много впечвтлений )НО... сейчас не пинайте сильно... о регистрах сложилась такое мнение\мысль : они хранят адреса? просто вычитал что когда выполняется обработчик прерывания то нужно же сохранить адрес до входа в обработчик? и для этого служат эти регистры (ну хотя бы 1 из них)?
Последний раз редактировалось BlackFishSQL; 29.03.2012 в 16:05. |
29.03.2012, 14:41 | #20 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
BlackFishSQL
складывается такое мнение\мысль, что ТС принципиально не читает учебники, хотя из Зубкова не поленился выложить скан, регистры — это составная часть процессора, могут хранить и данные и адреса, внимательно читай учебники — нет никакого желания их пересказывать Последний раз редактировалось Mikl___; 29.03.2012 в 15:00. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Электронное письмо с уведомлением о прочтении | Климент | Свободное общение | 12 | 26.05.2011 11:40 |
CfileDialog и возник глюк | nusik | Общие вопросы C/C++ | 11 | 28.08.2009 16:02 |
Возник вопрос при создании сайта | Fortune55 | Общие вопросы по Java, Java SE, Kotlin | 1 | 06.04.2009 12:49 |
Возник вопрос при заполнении массива.. | SnakeMan | Помощь студентам | 8 | 15.01.2008 12:31 |