21.10.2017, 04:27 [+3 UTC]
в нашей команде: 2 186 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
20.10.2017, 23:24

Последний вопрос:
20.10.2017, 15:13

Последний ответ:
20.10.2017, 21:45

Последняя рассылка:
21.10.2017, 00:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
15.09.2009, 20:46 »
Симашкевич Руслан
То, что нужно! Большое спасибо!

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Зенченко Константин Николаевич
Статус: Модератор
Рейтинг: 258
Лысков Игорь Витальевич
Статус: Старший модератор
Рейтинг: 183
Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 88

Перейти к консультации №:
 

Консультация онлайн # 64753
Раздел: • Assembler
Автор вопроса: Paltus
Отправлена: 29.11.2006, 14:18
Поступило ответов: 1

Здравствуйте уважаемые эксперты!

Объясните пожалуйста принцип работы отладчика. Вот к примеру фрагмент кода.

mov ah, 3h
int 10h
mov ah, 2h
mov dx, 1500h
int 10h

После вызова третьей функции в dx заносится текущие координаты курсора. Если я запускаю CV или AFDPRO, то вижу только загрузку тройки в старший байт, а как только выполняется 10-е прерывание, то отладчик сразу перепрыгивает на сегмент обработчика этого прерывания и больше из него не выходит. Соответственно я не вижу в dx первичные координаты курсора и также не вижу дальнейшее выполнеие кода, то есть загрузку второй функции с указанием своих координат. Может быть есть какой нибудь способ проигнорировать переход отладчика на этот сегмент или если он всё таки перепрыгнул, то как вернуться назад и продолжить выполнение кода.
Спасибо!

Состояние: Консультация закрыта

Ответ # 129144 от Вiктор

Приветствую, Paltus!
У отладчиков должны быть команды пошагового режима разных видов - со входом в подпрограммы/предывания и без входа в подпрограммы/прерывания. Посмотрите в справке. (CV, AFDPRO - не видел самих программ, в turbodebougger это F7 (trace into - входить в) и F8 (step over - перешагнуть) ).
Кроме того, есть точки останова (точки прерывания, брейкпоинты, breakpoints).
вы можете поставить точку останова сразу после первого вызова прерывания, на команду "mov ah, 2h", а затем запустить на исполнение (не пошагово). Тогда после того как произойдёт прерывание, выполнится вся работа в прерывании и управление вернётся в главную программу, то управление остановится на точке останова - команде "mov ah, 2h". А с этого момента вы можете дальше идти пошагово.


Консультировал: Вiктор
Дата отправки: 29.11.2006, 17:36

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13121 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн