| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
Команда Previous
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Команда Previous (Предыдущий) восстанавливает позицию облас-
ти стека в соответствии с адресом перед последней командой, кото-
рая явно изменила выводимый адрес. Использование клавиш перемеще-
ния (стрелок) или PgUp и PgDn не приводит к запоминанию позиции.
При использовании команды Previous позиция окна стека запо-
минается, поэтому повторное использование этой команды приводит к
переключению между двумя адресами (туда и обратно).
Команда Change...
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Команда Change (Изменение) позволяет вам ввести новое значе-
ние для текущего (подсвеченного) слова в стеке. Данную команду
можно вызвать также, если просто начать вводить новое значение
для подсвеченной записи в стеке. Когда вы это делаете, выводится
окно подсказки (как и при использовании команды Change).
TDeb 3.0 #2-3 = 65 =
Ассемблер
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Турбо отладчик позволяет вам ассемблировать инструкции про-
цессоров 8086, 80186 и 80286, а также арифметических сопроцессо-
ров 8087, 80287 и 80387.
Когда для модификации программы используется встроенный
(внутренний) ассемблер Турбо отладчика, внесенные в нее изменения
не являются постоянными. Если вы перезагрузите свою программу с
помощью команд RunіProgram Reset (ВыполнениеіСброс программы) или
загрузите другую программу с помощью команды FileіOpen (ФайліОтк-
рыть), то все сделанные вами изменения будут потеряны.
Обычно Ассемблер используется для проверки правильности
предположений о коррекции программы. После того, как вы убеди-
тесь, что при изменениях программа работает правильно, нужно из-
менить исходный код и перекомпилировать и перекомпоновать прог-
рамму.
В следующих разделах описываются различия между встроенным
Ассемблером и синтаксисом, воспринимаемым Турбо Ассемблером.
Переопределения размера адреса операнда
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Для вызовов (CALL) инструкции перехода (JMP) и инструкций
условного перехода (JNE, JL, и т.д.) Ассемблер автоматически ге-
нерирует наименьшую инструкцию, с помощью которой можно достичь
целевого адреса. Перед целевым адресом, чтобы ассемблировать инс-
трукцию с заданным размером, можно использовать переопределения
NEAR (ближний) и FAR (дальний). Например:
CALL FAR XYZ
JMP NEAR A1
Память и непосредственные операнды
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Когда вы используете в своей программе идентификатор в ка-
честве операнда инструкции, нужно указать встроенному Ассемблеру,
имеете ли вы в виду содержимое идентификатора или его адрес. Если
вы используете просто имя идентификатора, то Ассемблер интерпре-
тирует его, как адрес (как если бы перед ним использовалась опе-
рация Ассемблера OFFSET). Если идентификатор заключается в квад-
ратные скобки, то он будет означать ссылку на память. Если в
вашей программе содержится определение данных:
A DW 4
вы можете ссылаться на содержимое идентификатора A, ассемблируя:
с помощью [A].
TDeb 3.0 #2-3 = 66 =
Когда вы ассемблируете инструкцию или вычисляете выражение
Ассемблера для ссылки на содержимое переменной, используйте само
имя переменной или имя переменной, заключенное в квадратные скоб-
ки:
mov dx,A
mov ax,[a]
Для ссылки на адрес переменных можно использовать операцию
OFFSET:
mov ax,offset a
Переопределение размера данных в операндах
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В некоторых инструкциях перед операндом нужно задавать раз-
мер операнда, для чего используется одно из следующих выражений:
BYTE PTR
WORD PTR
Приведем примеры инструкций, в которых используются такие
переопределения:
add BYTE PTR[si],10
mov WORD PTR[bp+10],99
Кроме этих переопределений при ассемблировании инструкций
арифметических сопроцессором 8087і80287 вы можете использовать
следующие переопределения:
DWORD PTR
QWORD PTR
TBYTE PTR
Вот примеры таких переопределений:
fild QWORD PTR[bx]
stp TBYTE PTR[bp+4]
TDeb 3.0 #2-3 = 67 =
Строковые инструкции
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
При ассемблировании строковой инструкции в самой мнемонике
инструкции нужно указать размер (байт или слово), в противном
случае Ассемблер не воспримет такую мнемонику. Например, нужно
использовать мнемонику STOSW, а не STOS WORD PTR[DI].
Окно Dump
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В окне Dupm (Дамп) выводится в непосредственном виде дамп
любой области памяти. Оно работает так же, как область данных ок-
на CPU (ЦП).
ЙН[*]ННDumpНННННННННННННННННННН3ННННН[ ][ ]»
є ds:0000 CD 20 00 A0 00 9A F0 FE = & U** ^
є ds:0008 1B 02 B2 01 22 31 7C 01 <.^%і.` І
є ds:0010 22 31 88 02 52 2B E2 1D vX4-# ±
є ds:0018 01 01 01 00 03 FF FF FF v
И<І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>Ѕ
Рис. 11.2 Окно Dump
Описание содержимого и локального меню для данного окна со-
держится ранее в разделе "Локальное меню области данных".
Обычно это окно приходится использовать при отладке програм-
мы на Ассемблере на уровне исходного кода, когда вы хотите прос-
мотреть (на нижнем уровне), как выглядят некоторые области дан-
ных. Для создания окна Dump (Дамп) можно использовать команду
ViewіDump (ОбзоріДамп).
Вы можете также использовать данное окно, находясь в окне
Inspector (Проверка), когда нужно в непосредственном виде увидеть
байты проверяемого объекта. Для получения окна Dump, позициониро-
ванного на данные в окне Inspector, используйте команду
ViewіDump (ОбзоріДамп).
TDeb 3.0 #2-3 = 68 =
Окно Registers
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В окне Registers (Регистры) выводится содержимое регистров и
флагов центрального процессора. оно работает, как сочетание об-
ластей регистров и флагов в окне CPU (ЦП).
ЙН[*]ННRegsННН3Н[ ][ ]»
є ax 0000 і c=0 є
є bx 0000 і z=0 є
є cx 0000 і s=0 є
є dx 0000 і o=0 є
є si 0000 і p=0 є
є di 0000 і a=0 є
є bp 0000 і i=1 є
є sp 2FFF і d=0 є
є ds 61AF і є
є es 61AF і є
є ss 668F і є
є cs 618F і є
є ip 084E і є
ИНННННННННННННННННННННЅ
Рис. 11.3 Окно Registers
Описание содержимого и локальных меню для этого окна можно
найти в разделе "Локальное меню области регистров".
Используйте данное окно, когда при отладке на уровне исход-
ного кода программы на Ассемблере вы хотите просмотреть содержи-
мое регистров. Вы можете сократить размер окна Module (Модуль) и
поместить рядом с ним окно Registers.
Примечание: Вы можете уменьшить размер окна Module и
вывести наряду с ним окно Registers (Регистры).
|
adfun.ru
|
|
|
|