Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2012, 11:46   #11
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

А мне почему-то намного больше до сих пор импонирует встроенный просмотрщик DosNavigator-а. Вот только одна засада - он только имеющиеся символы меняет...
Цитата:
32 бита регистры уже 32-битного проца(не помню который первый)
80386 уже были с 32-ми регистрами.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 28.03.2012, 16:28   #12
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 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.
BlackFishSQL вне форума Ответить с цитированием
Старый 28.03.2012, 18:17   #13
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

2. Это редактор, который позволяет редактировать не только вводом символов, но и вводом кодов этих символов - т.е. ввёл 32(20h) и получил пробел и т.п.
3. проблема была в том, что доступ к памяти в 8086 был 20-ти разрядный (адресация до 1 Мб ОЗУ), а регистры - 16ти разрядные (адресация до 64 кБ). т.е. адресоваться к любой ячейке они просто физически не могли. Поэтому были сделаны спарки из двух регистров - сегментные и индексные, где адрес содержащийся в сегменте смещался на 4 бита влево и к нему прибавлялся индексный регистр:
Код:
 DS: 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
+
 SI:             15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
=
Mem: 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
Так что это наследие зари развития компьютеров)
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 28.03.2012 в 18:21.
DiemonStar вне форума Ответить с цитированием
Старый 28.03.2012, 18:25   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)кто сказал что это прям идеальный отладчик?
2)http://ru.wikipedia.org/wiki/Двоичный_файл
во вложении например тот самый ваш com файл.
3)там же все написано ж...что не понятно то?
4)значит когда то уже прибавляли.
там надо более чем 5 людям прибавить, прежде чем снова тому же человеку добавлять.
Изображения
Тип файла: png 00000005.PNG (1.6 Кб, 68 просмотров)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.03.2012, 18:54   #15
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 02.04.2011
Сообщений: 136
По умолчанию

Не понятна само определение сегмента(что это такое(физ.кое или усл.ное), где)!) Чуток подразберусь напишу с чем именно проблемы!)

Спасибо Вам Огромное DiemonStar и Пепел Феникса!

p.s. спс за картинку! я с помощью winhex сваял! только у человека в статье после того как в ком.строке. -> debug myprg_1.com-> -U (вылезет знак - и ввести команду u (Unassemble)) -> то что выбивает ему
Код:
11B7:0100 B82301  MOV AX,0123 ; Внести значение 0123h в AX
11B7:0103 052500  ADD AX,0025 ; Прибавить значение 0025h к AX
11B7:0106 8BD8    MOV BX,AX   ; Переслать содержимое AX в BX
11B7:0108 03D8    ADD BX,AX   ; Прибавить содержимое AX к BX
11B7:010A 8BCB    MOV CX,BX   ; Переслать содержимое BX в CX
11B7:010C 31C0    XOR AX,AX   ; Очистка AX
11B7:010E CD20    INT 20      ; Конец программы
то что выбивает мне


Фактически после маш. ком. СD 20 (аля int 20) должен идти выход но.. при трассировке он "идет куда-то в даль" неостанавливается!
Содерживое в winhex
Код:
BlackFishSQL вне форума Ответить с цитированием
Старый 28.03.2012, 19:03   #16
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
при трассировке он "идет куда-то в даль" неостанавливается!
скорее всего, на обработчик 20-го прерывания)

Цитата:
Не понятна само определение сегмента(что это такое(физ.кое или усл.ное), где)!)
По-сути, это условное разделение областей памяти обусловленное особенностью адресации. т.е. сегмент - область памяти в которой можно адресоваться с помощью только индексного регистра(64 кБ).
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 28.03.2012, 19:13   #17
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 02.04.2011
Сообщений: 136
По умолчанию

Цитата:
По-сути, это условное разделение областей памяти обусловленное особенностью адресации. т.е. сегмент - область памяти в которой можно адресоваться с помощью только индексного регистра(64 кБ).
Оооо что-то посветлело....... Ещё раз спасибо!
BlackFishSQL вне форума Ответить с цитированием
Старый 29.03.2012, 08:22   #18
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Из аппаратных отличий:
- сегментные регистры не подвержены математическим операциям, т.е. в АЛУ они не используются
- нет прямого присваивания значений сегментных регистров - только передача значений через регистры общего назначения или стек
- вычисление физического адреса происходит автоматически в контроллере ОЗУ
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 29.03.2012, 14:20   #19
BlackFishSQL
Форумчанин
 
Аватар для BlackFishSQL
 
Регистрация: 02.04.2011
Сообщений: 136
По умолчанию

DiemonStar Спасибо за обьяснения!) Я пока ещё это всё не переварил (очень много впечвтлений )НО... сейчас не пинайте сильно... о регистрах сложилась такое мнение\мысль : они хранят адреса? просто вычитал что когда выполняется обработчик прерывания то нужно же сохранить адрес до входа в обработчик? и для этого служат эти регистры (ну хотя бы 1 из них)?

Последний раз редактировалось BlackFishSQL; 29.03.2012 в 16:05.
BlackFishSQL вне форума Ответить с цитированием
Старый 29.03.2012, 14:41   #20
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

BlackFishSQL
складывается такое мнение\мысль, что ТС принципиально не читает учебники, хотя из Зубкова не поленился выложить скан, регистры — это составная часть процессора, могут хранить и данные и адреса, внимательно читай учебники — нет никакого желания их пересказывать

Последний раз редактировалось Mikl___; 29.03.2012 в 15:00.
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Электронное письмо с уведомлением о прочтении Климент Свободное общение 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