Для вызова отладчика CodeView следует набрать в командной строке CV и, если необходимо, имена файлов, с которыми мы будем работать, например CV prog.exe. Затем нажать Enter. Отладчик выдаст на экран монитора листинг Вашей программы и установит курсор на первую команду программы. Нажмите F2. Справа от программы отобразятся регистры процессора. Нажимая клавишу F8, Вы будете исполнять программу по одной команде.
Управляющие клавиши
Alt − активизация строки меню в верхней части экрана.
Alt /F/X - выход из Code View.
Alt/R/R – рестарт программы (возвращение её в исходное состояние для повторного пуска с самого начала).
Ctrl/G – увеличение размера (каждый раз на одну строку информационного
окна с курсором).
Ctrl/T – уменьшение размера (каждый раз на одну строку информационного окна с курсором).
Esc− выход из меню.
Функциональные клавиши
F1 − вывод справочника.
F2 − вывод на экран информационного поля с содержимым регистров
процессора.
F3 − переключение вида основного информационного кадра (только
машинные команды, только исходный текст).
F4 − переключение на экран DOS и обратно.
F5 − выполнение программы до конца или до точки останова.
F6 − перевод курсора на информационное поле программы или на поле
командной строки.
F7 − выполнение программы до курсора или до точки останова.
F8 − выполнение одной команды (подпрограммы и циклы выполняются
команда за командой).
F9 − установка или снятие точки останова в положение курсора.
F10 − выполнение одной команды (подпрограммы и циклы выполняются
как одна команда, если в них нет точки останова).
Команды командной строки
G seg: addr − выполнение программы до адреса seg: addr, точки останова
или конца программы. В качестве параметра seg может
использоваться обозначение сегментного регистра или число. По умолчанию seg = CS.
P n – выполнение n команд, с выполнением подпрограмм и циклов как
одной команды. По умолчанию n =1.
T n- выполнение n команд со входом в подпрограммы и циклы. По
умолчанию n =1.
D type seg: addr L nmb − дамп nmb байтов в формате type начиная с адреса
seg: addr.
В качестве параметра seg может использоваться обозначение сегментного регистра или число. По умолчанию seg = CS. Параметр type (тип)- может принимать следующие значения:
− А − только коды ASCII;
− В − байты и коды ASCII, W- слова.
После выполнения одной команды D указанный тип остаётся
установленным. Между командой и типом не должно быть пробела.
D type seg: addr1 addr2 − дамп памяти от адреса seg: addr1 до адреса seg:
addr2. R reg- вывод содержимого регистра reg и запрос его изменение.
R reg= n- занесение в регистр reg значения n.
E type seg: addr n1 n2 …- занесение в память начиная с адреса seg: addr
значений n1, n2 в формате type. Возможные значения type приведены в описании команды D. По умолчанию seg= DS. Между командой и типом не должно быть пробелов.
N radix − изменение системы счисления в параметрах командной строки.
Параметр radix может принимать значения 16 и 10. Команда N без параметра выводит действующее значение системы счисления.
BP seg: addr − установка точки останова по адресу seg: addr.
По умолчанию seg:= CS.
BP seg: addr ste p− установка точки останова по адресу seg: addr с
пропуском её при выполнении первых step раз. Команда используется при отладке многошаговых циклов.
BL − вывод списка точек останова с их адресами.
BCn − снятие точки останова с номером n.
BC * − снятие всех точек останова.
BDn − выключение (но не снятие) точки останова с номером n.
Библиографический список
1. Бройдо В.Л. Вычислительные системы, сети и телекоммуникации – СПб.: Питер, 2002. – 688 с.
2. Вычислительные системы сети и телекоммуникации. Пятибратов и др. – М.: ФИС, 2003.− 512 с.
3. Столингс, Вильям. Структурная организация и архитектура компьютерных систем.− М.: Изд. Дом «Вильямс», 2002. – 896 с.
4. Каган Б.М. Электронные вычислительные машины и системы. − М.: Энергоатомиздат, 1991. − 592 с.
5. Скэнлон Л. Персональные ЭВМ IBM PC и XT. Программирование на языке Ассемблера. − М.: Радио и связь, 1989.- 336 с.
6. Гилмор Ч. Введение в микропроцессорную технику. − М.: Мир, 1984.- 334 с.
7. Зельцин Е. А. Цифровые интегральные микросхемы в информационно-измерительной аппаратуре. − Л.: Энергоатомиздат, 1986.- 280 с.
8. Пильщиков В. Н. Программирование на языке Ассемблера IBM PC. − М.: Диалог - МИФИ, 1996.- 340 с.
9. Русак И. М. Технические средства ПЭВМ справочник. − Минск.: Высш. шк. 1996.- 504 с.
10. Абель П. Язык Ассемблера для IBM PC и программирования. − М.: Высш. шк., 1992.- 447 с.
11. Лямин Л. В. Макроассемблер MASM. − М.: Радио и связь, 1994.- 320 с.
12. Рудаков П. И. Программирование на языке ассемблера IBM PC- 2-е изд., перабот. и доп. − Обнинск.: Издательство “Принтер”, 1997.- 584 с.
13. Бредли Д. Программирование на языке ассемблера для персональной ЭВМ фирмы IBM. − М.: Радио и связь, 1988.- 448 с.
14. Фрир Дж. Построение вычислительных систем на базе перспективных микропроцессоров. − М.: Мир, 1990.- 413 с.
15. Стрыгин В.В. Основы вычислительной, микропроцессорной техники и программирования. − М.: Высш. шк., 1989.- 479 с.
16. Шило В. Л. Популярные цифровые микросхемы: справочник. − М.: Радио и связь, 1987.- 352 с.
17. Соломатин Н. М. Элементы ЦВМ. − М.: Высш. шк., 1984.- 143 с.
18. Гук М. Интерфейсы ПК: справочник. − СПб: Питер Ком, 1999.-416 с.
19. Бердышев Е. Технология ММХ. Новые возможности процессоров Р5 и Р6. − М.: ДИАЛОГ-МИФИ, 1998-234 с.
20. Гук М. Процессоры Pentium 11. − Спб: Издат. "Питер" , 2000.- 480 с.
21. Гук М., Юров В. Процессоры Pentium 111, Athlon и другие - СПб: Издательство "Питер" , 2000.- 480 с.
22. Смит Б.Э., Джонсон М. Т. Архитектура и программирование процессора INTEL 80386 / Пер. с англ. Григорьева В.Л. – М.: Конкорд, 1992. - 334 с.
23. Фролов А.В., Фролов Г.В. Аппаратное обеспечение персонального компьютера. – М.: ДИАЛОГ - МИФИ, 1997. – 304 с.
24. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. – СПб.: Издательство Питер, 1999. – 672 с.
25. Шатт С. Мир компьютерных сетей. – К.:BHV, 1996. – 288 с.
26. Гук М. Локальные сети NOVEL. – СПб.: Питер, 1996. – 288 с.
27. Корнеев В.В. Современные микропроцессоры. − М.: НОЛИДЖ, 2000. − 320 с.
28. Стандарты по локальным вычислительным сетям: Справочник. В.К.Щербо, В.М.Киреичев, С.И.Самойленко; под ред. С.И.Самойленко.- М.: Радио и связь, 1990. − 456 с.
29. Волоконная оптика в локальных и корпоративных сетях связи. А.Б.Семенов, АйТи. – М.: Компьютер-пресс, 1998. −340 с.
30. Персональные компьютеры в сетях ТСР/IР. Крейг Хант, перев. с англ. – BHV – Киев, 1998. − 350 с.
31. Высокопроизводительные сети. Энциклопедия пользователя. Марк А. Спортак и др.; перев. с англ. – Киев ДиаСоф, 1998. − 560 с.
32. Толковый словарь по вычислительной технике; перев. с англ. – М.: Издательский отдел “Русская редакция” ТОО ”Channel Trading LTD.”1995. −479 с.
Содержание
Введение.............................................................................................................. 6
1 Функциональное и структурное построение ПК............................................ 7
1.1 Основные понятия......................................................................................... 7
1.2 Программная модель процессора 8086.................................................... 14
1.2.1 Регистры общего назначения............................................................... 15
1.2.2 Сегментные регистры.............................................................................. 16
1.2.3 Регистры указателей и индексов............................................................. 17
1.2.4 Указатель команд IP.............................................................................. 18
1.2.5 Регистр флагов EF.................................................................................. 19
1.2.5.1 Флаги состояний.................................................................................. 19
1.2.5.2 Флаги управления................................................................................. 20
1.3 Вычисление адреса ячейки памяти............................................................. 21
1.4 Представление данных в ЭВМ................................................................... 22
2 Введение в язык Ассемблера......................................................................... 25
2.1 Формат команд Ассемблера....................................................................... 25
2.2 Режимы адресации операндов команд...................................................... 27
2.2.1 Регистровая и непосредственная адресация........................................... 28
2.2.2 Прямая адресация памяти....................................................................... 31
2.2.3 Косвенная регистровая адресация.......................................................... 32
2.2.4 Адресация по базе.................................................................................... 33
2.2.5 Прямая адресация с индексированием................................................... 33
2.2.6 Адресация по базе с индексированием................................................... 34
2.3 Задание данных в операторах исходной программы............................. 35
2.3.1 Идентификаторы данных и команд........................................................ 36
2.4 Псевдооператоры (директивы) Ассемблера..................................... 37
2.4.1 Псевдооператоры (директивы) определения типа данных.............. 37
2.4.2 Псевдооператоры определения сегмента / процедуры.............. 38
2.4.3 Псевдооператоры присваивания атрибута данным.................... 40
2.4.4 Псевдооператоры возвращающие значения................................. 40
2.4.5 Псевдооператоры (директивы) задания набора команд............ 41
2.4.6 Пример использования директив и команд в программе.................... 41
3 Система команд процессора 80386............................................................... 43
3.1 Подробное описание некоторых команд Ассемблера.............................. 46
3.1.1 Команды сложения - ADD, ADC............................................................. 46
3.1.2 Команды безусловной передачи управления - CALL, RET, JMP........ 48
3.1.3 Команда сравнения источника и приемника - CMP.............................. 51
3.1.4 Команды преобразования типов данных – CBW, CWD,CDQ.............. 52
3.1.5 Команда уменьшения содержимого приемника - DEC.......................... 53
3.1.6 Команды деления - DIV, IDIV................................................................ 53
3.1.7 Команды умножения - MUL, IMUL....................................................... 55
3.1.8 Команда увеличения значения приемника – INC.................................. 56
3.1.9 Команда программного прерывания – INT........................................... 57
3.1.10 Команды условной передачи управления - Jxx................................... 58
3.1.11 Команда пересылки адреса - LEA........................................................ 61
3.1.12 Команда управления циклами - LOOP................................................ 62
3.1.13 Команда пересылки данных - MOV..................................................... 63
3.1.14 Команда возврата из процедур............................................................. 65
3.1.15 Команды обращения в стэк – POP, PUSH............................................ 65
3.1.16 Команды вычитания - SUB, SBB.......................................................... 69
3.1.17 Логические команды - AND, OR, XOR и TEST............................... 71
3.1.18 Команда обмена операндами - XCHG.................................................. 73
3.2 Команды процессоров Intel 8086 – Intel 80386....................................... 74
Команды пересылки данных.................................................................... 76
Арифметические команды........................................................................ 79
Команды расширения знака...................................................................... 82
Команды манипулирования битами......................................................... 82
Команды обработки строк...................................................................... 86
Команды управления программой........................................................... 91
4. Ввод, трансляция и исполнение программы............................................. 100
4.1 Разработка программы на языке Ассемблере......................................... 100
4.2 Ваша первая программа на Ассемблере................................................. 101
4.2.1 Ассемблирование вашей первой программы....................................... 102
4.2.2 Компоновка программы........................................................................ 104
4.2.3 Запуск вашей первой программы......................................................... 104
5 Примеры программ на языке ассемблера................................................. 106
5.1 Умножение двойных слов. (СОМ – программа)..................................... 106
5.2 Сложение чисел в ASCII-формате. (СОМ – программа)........................ 108
5.3 Многословное сложение (ЕХЕ – программа).......................................... 109
5.4 Преобразование шестнадцатеричной цифры в ASCII код..................... 111
5.5 Преобразование ASCII формата в двоичный формат............................ 113
6. Сообщения об ошибках MASM и LINK.................................................... 117
7 Отладчики программ................................................................................... 127
7.1 Назначение и функции отладчиков программ........................................ 127
7.2 Основные команды отладчика DEBUG................................................... 128
7.3 Основные команды отладчика CodeView Microsoft................................ 133
Библиографический список.................................................................... 136
Дата: 2018-11-18, просмотров: 489.