Инструменты пользователя

Инструменты сайта


msx:xdbg:xdbg

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
msx:xdbg:xdbg [2020-06-29 10:28]
GreyWolf [Руководство пользователя]
msx:xdbg:xdbg [2021-11-12 22:44] (текущий)
GreyWolf создано
Строка 1: Строка 1:
-====== Расширенный экранный отладчик XDBG ====== +~~HIDEPAGE:search;sitemap~
-FIXME +~~REDIRECT>msx:dbg:dbg~~
- +
-Автор: Леонид Бараз +
- +
-====== Руководство пользователя ====== +
-Версия 1 MSX/MSX2 +
- +
-Программа XDBG представляет собой экранный отладчик программ,​ написанных на ассемблере Z80.Этот отладчик может использоваться на ПЭВМ [[msx:​msx_2]] и [[msx:​msx_1|MSX]] , оснащенных [[msx:​yamaha_v9938:​yamaha_v9938|]] ( [[msx:​yamaha_yis-503iir:​yamaha_yis-503iir|]]),​ под управлением операционной системы [[msx:​dos|]] (в том числе в варианте Ю.В.Галутина). +
- +
-Команда вызова отладчика:​ +
-<​code>​ +
-A>​XDbg[/​p[/​s]][/​M] [имя-программы] +
-</​code>​ +
- +
-После XDbg в команде запуска можно указать от одного до трех флажков,​ которые определяют,​ в каком слоте памяти должен располагаться собственно отладчик. Первые два флажка определяют номера первичного и вторичного слота соответственно ''​XDbg/​3/​0''​ — слот 3-0, ''​XDbg/​1''​ — слот 1 нерасширенный). Флажок /M предписывает использование маппера (отладчик располагается в страницах FF, FE и FD). При переносе отладчика максимально возможный размер загружаемой и отлаживаемой программы может достигать 48Kбайт. +
- +
-При отсутствии флажков отладчик размещается в основной оперативной памяти,​ оставляя для программы пользователя вместе с таблицей символических имен только 32КБайт. Однако +
-перенести отладчик в параллельную память можно и в процессе работы посредством команды <​key>​ESC</​key>​ <​key>​u</​key>​ (см. ниже). +
- +
-Примеры отображения на экране:​ +
- +
-Режим листинга ассемблера +
-<​code>​ +
-                        окно заголовка +
-        ┌──────────────────────────────────────────────────┐ +
- +
-┌02000┬───────────────────────────────────────────────────────┬────────────────┐ +
-│List │ X-DEBUGGER Version 1.0      Help:<​Esc>? ​ Visual:​Trace │ EI PC=D827 I=00│ +
-├─────┼──────────────────────────────────────────────────┬────┤8B/​02/​8B/​8B R=58│ +
-│     ​│ ​      ​7FF8:​60 ​          ​LD ​   H,B                │    │--/​--/​--/​-- ​    │ +
-│     ​│ ​      ​7FF9:​4B ​          ​LD ​   C,E                │    │T=838B:​CE6B/​89C3│ +
-│00~00│       ​7FFA:​03 ​          ​INC ​  ​BC ​                ​│ ​   ├────────────────┤ +
-│     ​│ ​      ​7FFB:​1A ​          ​LD ​   A,​(DE) ​            ​│ ​   │ A=00 . sZxHxpNC│ +
-│     ​│ ​      ​7FFC:​FE 38        CP    38                 ​│ ​   │ BC=0240: 00  . │ +
-│     ​│ ​      ​7FFE:​FF ​          ​RST ​  ​38 ​                ​│ ​   │ DE=0000: C3 "​ц"​│ +
-│     ​│ ​      ​7FFF:​FF ​          ​RST ​  ​38 ​                ​│ ​   │ HL=7FFD: 38 "​8"​│ +
-│     ​│MEM80@:​8000:​00 ​          ​NOP ​                     │0078│ IX=1377: 2A "​*"​│ +
-│C0-C0│ ​      ​8001:​00 ​          ​NOP ​                     │    │ IY=0A00: 53 "​S"​│ +
-│     ​│ ​      ​8002:​00 ​          ​NOP ​                     │    ├────────────────┤ +
-│20+1A│ ​      ​8003:​20 FB        JR    NZ,​MEM80@:​8000 ​    ​│ ​   │A'​=00 . szxhxpnc│ +
-│     ​│ ​      ​8005:​DD 2A 08 80  LD    IX,​(PRED:​8008) ​    ​│ ​   │BC'​=0120:​ E1 "​А"​│ +
-│00+00│ ​      ​8009:​C1 ​          ​POP ​  ​BC ​                ​│ ​   │DE'​=0A00:​ 53 "​S"​│ +
-│     ​│ ​      ​800A:​CD CD D9     ​CALL ​ D9CD               ​│ ​   │HL'​=1100:​ 0E  . │ +
-├─┬───┴──────────────────────────────────────────────────┴────┼────────────────┤ +
-│ │       ​3FC0:​E7 38 EB 2A E9 38 7D 93 6F 7C 9A 67 22 EB 38 2A│Г8К*И8}.o|.g"​К8*│ +
-│-│ ​      ​3FD0:​E7 38 EB 21 18 39 C3 0A 1F CD 36 11 22 E9 38 EB│Г8К!.9ц..м6."​И8К│ +
-│ │       ​3FE0:​2A E7 38 7B 95 6F 7A 9C 67 22 EB 38 2A E9 38 EB│*Г8{.oz.g"​К8*И8К│ +
-│+│ ​      ​3FF0:​21 1E 39 C3 0A 1F 0E 07 25 3D 20 03 E9 3C 32 03│!.9ц....%= .И<​2.│ +
-│ │DRIVER:​4000:​41 42 6F 57 76 65 00 00 00 00 00 00 00 00 00 00│ABoWve..........│ +
-│ │       ​4010:​C3 F5 74 C3 86 78 C3 09 79 C3 23 79 C3 50 79 C3│цУtц.xц.yц#​yцPyц│ +
-~│       4020:82 78 C3 35 5B 37 C3 AC 60 C3 14 62 00 C3 AE 5F│.xц5[7ц∞`ц.b.ц∈_│ +
-│ │       ​4030:​2A 4B F3 C9 DD E5 DD 21 B7 00 CD AB 40 DD E1 30│*KСищЕщ!≈.мδ@щА0│ +
-└─┴───────────────────────────────────────────────────────────┴────────────────┘ +
-</​code>​ +
- +
-Режим загрузки программы +
-<​code>​ +
-                           ​окно запроса +
-                    (дополнительное окно файлов) +
-        ┌──────────────────────────────────────────────────┐ +
- +
-┌1F000┬───────────────────────────────────────────────────────┬────────────────┐ +
-│Input│ File:​B:​prog ​   .COM  Area:​07F0-BEFC ​ Reloc:​0100->​07F0 │ EI PC=0100 I=00│ +
-├─────┼──────────────────────────────────────────────────┬────┤8B/​8B/​8B/​8B R=7B│ +
-│     ​│ ​      ​012F:​CB 16        RL    (HL)               ​│ ​   │FB/​FA/​F9/​F8 ​    │ +
-│     ​│ ​      ​0131:​30 0F        JR    NC,​0142 ​           │    │T=BEFB:​CE6B/​89C3│ +
-│     ​│ ​      ​0133:​E5 ​          ​PUSH ​ HL                 ​│ ​   ├────────────────┤ +
-│     ​│ ​      ​0134:​DD 66 00     ​LD ​   H,​(IX+00) ​         │    │ A=00 . szxhxpnc│ +
-│     ​│ ​      ​0137:​DD 6E FF     ​LD ​   L,​(IX-01) ​         │    │ BC=0000: C3 "​ц"​│ +
-│     ​│ ​      ​013A:​19 ​          ​ADD ​  ​HL,​DE ​             │    │ DE=0000: C3 "​ц"​│ +
-│     ​│ ​      ​013B:​DD 74 00     ​LD ​   (IX+00),​H ​         │    │ HL=0000: C3 "​ц"​│ +
-│     ​│ ​      ​013E:​DD 75 FF     ​LD ​   (IX-01),​L ​         │    │ IX=0000: C3 "​ц"​│ +
-│     ​│ ​      ​0141:​E1 ​          ​POP ​  ​HL ​                ​│ ​   │ IY=0000: C3 "​ц"​│ +
-│     ​│ ​      ​0142:​DD 23        INC   ​IX ​                ​│ ​   ├────────────────┤ +
-│     ​│ ​      ​0144:​0B ​          ​DEC ​  ​BC ​                ​│ ​   │A'​=00 . szxhxpnc│ +
-│     ​│ ​      ​0145:​78 ​          ​LD ​   A,B                │    │BC'​=0000:​ C3 "​ц"​│ +
-│     ​│ ​      ​0146:​B1 ​          ​OR ​   C                  │    │DE'​=0000:​ C3 "​ц"​│ +
-│     ​│ ​      ​0147:​20 DF        JR    NZ,​0128 ​           │    │HL'​=0000:​ C3 "​ц"​│ +
-├─┬───┴──────────────────────────────────────────────────┴────┼────────────────┤ +
-│V│ ​     1F020:17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17│................│ +
-│V│ ​     1F030:17 17 17 17 17 17 17 17 17 17 17 17 17 17 12 17│................│ +
-│V│ ​     1F040:17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 19│................│ +
-│V│ ​     1F050:16 49 6E 70 75 74 16 20 46 69 6C 65 3A 20 70 72│.Input. File:​B:​P│ +
-│V│ ​     1F060:6F 67 20 20 20 20 20 20 20 20 41 72 65 61 3A 20│ROG ​   .COM  Are│ +
-│V│ ​     1F070:30 37 46 30 2D 38 41 31 42 20 20 52 65 6C 6F 63│a:​07F0-8A1B ​ Rel│ +
-│V│ ​     1F080:3A 20 30 31 30 30 2D 3E 30 37 46 30 20 20 16 20│oc:​0100->​07F0 . │ +
-│V│ ​     1F090:45 49 20 50 43 3D 30 31 30 30 20 52 3D 37 42 16│EI PC=0100 ​    ​.│ +
-└─┴───────────────────────────────────────────────────────────┴────────────────┘ +
-</​code>​ +
- +
-Отладчик обеспечивает:​ +
-  * загрузку в память и запись на диск программ и таблиц символов (файлов ''<​имя>​.<​тип>''​ и ''<​имя>​.SYM''​); +
-  * просмотр и корректировку содержимого оперативной памяти в символьном и шестнадцатиричном формате,​ а также в виде команд ассемблера;​ +
-  * просмотр и корректировку содержимого видеопамяти в символьном и шестнадцатиричном формате;​ +
-  * просмотр и изменение содержимого регистров отлаживаемой программы;​ +
-  * использование имен, введенных вместе с программой,​ а также добавление новых имен и удаление имеющихся (имена используются и в командах ассемблера);​ имена можно настроить на начальный адрес программы;​ +
-  * выдачу на печать содержимого текущего окна отладчика;​ +
-  * установку и снятие точек приостанова (со счетчиками);​ +
-  * установку и снятие контроля изменения байтов памяти;​ +
-  * покомандное и непрерывное выполнение программы (в том числе и в режиме мультипликации,​ с обходом и без обхода команд [[msx:​basic_programming_guide:​07#​call|CALL]]);​ +
-  * возврат управления отладчику:​ при достижении точки приостанова с нулевым счетчиком,​ при изменении одного из контролируемых байтов памяти,​ при нормальном завершении программы,​ при нажатии клавиши <​key>​STOP</​key>;​ +
-  * пересылку и заполнение областей памяти,​ поиск символьного или шестнадцатиричного образца. +
-  * выполнение арифметических действий над шестнадцатиричными числами;​ +
-  * получение на экране краткой информации о средствах,​ имеющихся в отладчике. +
- +
-При запуске отладчик переводит систему в 80–символьный режим и загружает в оперативную память программу,​ если ее имя указано в команде (имя указывается без уточнения;​ загружаются файлы ''<​имя>​.<​тип>''​ и ''<​имя>​.SYM''​). +
- +
-В процессе работы на экране выделяются поля разметки и поля данных. Курсор всегда находится в одном из полей данных,​ и только в такие поля можно вносить изменения. При выходе курсора из текущего поля его новое содержимое проверяется и заносится в память машины;​ все остальные поля экрана при этом приводятся (по возможности) в соответствие с содержимым изменённого поля. Например,​ для изменения байта или слова данных в любом поле достаточно просто набрать его новое значение и выйти из поля. Аналогично,​ для того, чтобы передвинуть окно листинга или дампа на другие адреса памяти,​ достаточно в любой строке набрать нужное имя в поле имени или нужный адрес в поле адреса. Для создания нового имен ​ достаточно набрать его в соответствующем поле, а для удаления существующего — заменить его на новое или заполнить поле имени пробелами. +
- +
-Все поля данных,​ имеющиеся на экране,​ сгруппированы в окна: три основных ("​дампа",​ "​листинга"​ и "​регистров"​) и одно дополнительное ("​заголовка",​ "​файлов"​ или "​памяти"​). Курсор перемещается в пределах одного окна с помощью стрелок,​ клавиш <​key>'​Ввод '​⏎</​key>,​ <​key>​TAB</​key>​ и <​key>​Ctrl+F</​key>​. Листание осуществляется по клавишам <​key>​Ctrl+J</​key>​ (вверх) и <​key>​Ctrl+Q</​key>​ (вниз). Редактированиение информации выполняется символьными клавишами,​ а также клавишами <​key>​INS</​key>,​ <​key>​DEL</​key>​ и <​key>​BS</​key>​. Переход в другое окно (и установка дополнительного окна) выполняются по одной из следующих +
-команд:​ +
- +
-  - <​WRAP>​1. <​key>​ESC</​key>​ <​key>​l</​key>​ Работа в окне листинга ассемблера. +
- +
-Левая колонка содержит точки приостанова (для них указывается максимальный счетчик,​ признак активности (''​+ -''​ акактивна,​ ''​-''​ активна в параллельном ​ банке памяти,​ ''​- -''​ неактивна) и текущее значение счетчика). ​ В основной части каждой строки окна ​ располагаются ​ поля ​ имени, ​ адреса,​ байтов,​ образующих команду, ​ и  самого ​ текста ​ команды. +
- +
-Правая колонка окна содержит значения счетчиков профилей выполнения программы ​ (в строках команд с символическими именами). +
- +
-Имена ​ во всех полях ​ (в том числе ​ и  в текстах команд) должны заканчиваться двоеточием. Например,​ команды могут записываться в следующем виде: +
-<​code>​ +
-LD    A,​(name:​3000) +
-LD    A,(name:) +
-LD    A,(3000) +
-</​code>​ +
-Команда ''​RST 30''​ (Inter-Slot Call)  дополняется в качестве операндов номером слота и адресом вызова. +
-</​WRAP>​ +
-  - <​WRAP>​2. <​key>​ESC</​key>​ <​key>​d</​key>​ Работа в окне дампа. +
- +
-Левая колонка содержит признаки контроля изменения байта памяти с указанием активности контроля (''​+/​-/​~''​). В основной части каждой строки окна имеются поля имени, адреса,​ 16 полей байтов в шестнадцатиричном виде и  16 полей тех же байтов в символьном виде.</​WRAP> +
-  - <​WRAP>​3. <​key>​ESC</​key>​ <​key>​v</​key>​ Работа в окне дампа видеопамяти. +
- +
-Содержимое видеопамяти отображается так же, как и в режиме <​key>​ESC</​key>​ <​key>​d</​key>, ​ однако ​ левая ​ колонка ​ заполняется ​ буквами V (для VRAM)  или ​ E (для ERAM). ​ При просмотре VRAM поле адреса дополняется слева еще одним разрядом, ​ чтобы охватить все 128 Kбайт. +
-</​WRAP>​ +
-4. <esc> R    Работа в окне регистров. +
-     ​Окно ​ содержит ​ поля ​ значений ​ всех регистров, ​ а также +
-     ​байтов или слов, ​ на которые указывают шестнадцатибитные +
-     ​регистры. ​ Одновременно ​ с шестнадцатиричными значениями +
-     ​байтов выдается их символьное представление. +
-     ​Кроме того, имеются поля счетчика команд (PC), состояния +
-     ​обработки прерывания (EI/​DI) ​ и  выбранного банка памяти +
-     (с указанием слота и страницы маппера) ​ для всех четырех +
-     ​16Kбайтных страниц. Наличие или отсутствие маппера +
-     ​распознается автоматически. +
- +
-5. <esc> Y    Показ символических имен. +
-     ​Окно листинга ассемблера заполняется строками, ​ соответ- +
-     ​ствующими символическим именам. +
- +
-6. <esc> B    Показ точек приостанова. +
-     ​Окно листинга ассемблера заполняется строками, ​ соответ- +
-     ​ствующими точкам приостанова. +
- +
-7. <esc> H    Показ контролируемых байтов. +
-     ​Окно дампа заполняется строками, ​ соответствующими адре- +
-     ​сам байтов,​ изменение которых контролируется. +
- +
-8. <esc> I    Чтение файлов. +
-     В дополнительном окне ​ располагаются поля имени файла ​ и +
-     ​интервала адресов для размещения программы. ​ После нажа- +
-     ​тия клавиши перевода ​ строки файл ​ с именем ​ <​имя>​.<​тип>​ +
-     ​считывается ​ в  память ​ (конфигурация ​ слотов ​ и маппера +
-     ​определяется ​ соответствующими полями в окне регистров). +
-     ​Кроме того, к таблице имен присоединяются имена из файла +
-     <​имя>​.SYM, ​ если ​ он  есть. С помощью полей Reloc: можно +
-     ​указать ​ настройку ​ символических ​ имен на нестандартный +
-     ​начальный адрес программы. +
- +
-9. <esc> O    Запись файлов. +
-     В дополнительном окне ​ располагаются поля имени файла ​ и +
-     ​интервала адресов. После нажатия клавиши перевода строки +
-     ​указанная область памяти записывается в файл <​имя>​.<​тип>,​ +
-     а все символические имена - в файл <​имя>​.SYM (конфигура- +
-     ​ция слотов и маппера определяется соответствующими поля- +
-     ми в окне регистров). +
- +
-10.<​esc>​ P    Выдача на печать ​ содержимого текущего окна от- +
-     ​ладчика (печать прерывается при нажатии <​ctrl>​+<​stop>​). +
- +
-11.<​esc>​ M    Пересылка информации. +
-     В дополнительном окне ​ располагаются ​ поля запроса ​ двух +
-     ​интервалов адресов: ​ откуда и куда ​ требуется ​ переслать +
-     ​информацию. При изменении начального адреса ​ в  одном из +
-     ​интервалов ​ соответствующий конечный адрес автоматически +
-     ​изменяется так, чтобы длины интервалов совпали. ​ При из- +
-     ​менении конечного адреса ​ таким же образом ​ меняется ко- +
-     ​нечный адрес другого интервала. +
- +
-12.<​esc>​ F    Заполнение области памяти. +
-     В дополнительном окне располагаются ​ поля запроса интер- +
-     ​вала адресов ​ и образца для заполнения. ​ Образец для за- +
-     ​полнения может быть набран в символьном или шестнадцати- +
-     ​ричном виде ​ (вид определяется полем, содержащим букву C +
-     ​или X соответственно). Размер образца определяется поло- +
-     ​жением курсора ​ в момент нажатия клавиши ​ <​перевод стро- +
-     ​ки>​. +
- +
-13.<​esc>​ S    Поиск образца. +
-     В дополнительном окне располагаются ​ поля запроса интер- +
-     ​вала адресов ​ и  образца для поиска. ​ Образец для поиска +
-     ​может быть набран в символьном или шестнадцатиричном ви- +
-     де (вид определяется полем, содержащим букву C или X со- +
-     ​ответственно). ​ Размер образца ​ определяется ​ положением +
-     ​курсора в момент нажатия клавиши <​перевод строки>​. Поиск +
-     ​можно прервать нажатием <​ctrl>​+<​stop>​. +
- +
-14.<​esc>​ E    Начальная установка регистров. +
-     ​Все регистры ​ устанавливаются ​ в 0,  счетчик ​ команд ​ PC +
-     ​устанавливается на 100h, состояние прерываний - разреше- +
-     ны (EI),  всем ​ страницам памяти ​ сопоставлены ​ основные +
-     ​банки памяти (установленные при запуске отладчика). +
- +
-15.<​esc>​ Z    Начальная ​ установка ​ текущих ​ счетчиков ​ точек +
-     ​приостанова (они ​ устанавливаются ​ равными ​ максимальным +
-     ​счетчикам). +
- +
-16.<​esc>​ C    Шестнадцатиричный калькулятор. +
-     В дополнительном окне ​ располагаются ​ два поля операндов +
-     ​(четырехзначные ​ шестнадцатиричные ​ числа), ​ поле ​ знака +
-     ​операции (+, -, *, /, %) и поле показа результата. ​ Поле +
-     ​результата ​ заполняется ​ при смене ​ любого операнда ​ или +
-     ​знака операции. +
- +
-17.<​esc>​ T    Установка базового адреса PNT и PGT отладчика. +
-     ​Поле ​ базового адреса располагается в левом верхнем углу +
-     ​рамки. ​ При ​ вводе нового значения в этом поле PNT и PGT +
-     ​переносятся на указанный адрес и автоматически инициали- +
-     ​зируются. ​ Таблицы ​ PNT  и PGT занимают 1000h байт VRAM, +
-     ​начиная с указанного адреса. +
- +
-18.<​esc>​ U    Перенос отладчика в параллельную память. +
-     ​Программы и данные самого ​ отладчика ​ переносятся ​ в  ту +
-     ​память,​ которая задана полями слотов и  маппера ​ в  окне +
-     ​регистров. При этом ​ для ​ загрузки ​ и  отладки ​ программ +
-     ​пользователя становится доступным около 48Кбайт ​ памяти. +
-     ​Перенос в параллельную память не  может ​ быть ​ выполнен,​ +
-     ​если хотя бы одна из трех страниц ​ (0000-3FFF,​4000-7FFF,​ +
-     ​8000-BFFF) ​ совпадает ​ с  первоначальной ​ по   ​слотовому +
-     ​адресу. Кроме того, если при ​ запуске ​ отладчика ​ или ​ в +
-     ​процессе ​ работы ​ перенос ​ выполнен, ​  ​его ​  ​нельзя ​  ​ни +
-     ​отменить,​ ни изменить;​ можно только выйти из отладчика и +
-     ​загрузить его снова. +
- +
-19.<​esc>​ Q    Завершение работы отладчика ​ и  выход ​ в  среду +
-     ​операционной системы ​ с восстановлением исходного режима +
-     ​экрана (40/80 символов). +
- +
-20.<​esc>​ ?    Показ страницы с подсказкой. +
- +
-21.<​ctrl>​+G ​  ​Запуск программы. +
-     ​Программа начинает выполняться с адреса, ​ находящегося в +
-     ​счетчике команд PC. Устанавливается заданное пользовате- +
-     ​лем распределение банков памяти. +
-     ​Если режим мультипликации выключен (Visual:​No),​ на время +
-     ​работы программы экран переключается на обычную страницу +
-     ​системы (0000h). ​ Если же  режим мультипликации ​ включен +
-     ​(Visual:​Exec или Trace), системная страница не включает- +
-     ​ся, ​ зато ​ после каждой исполненной команды ​ обновляется +
-     ​содержимое экрана отладчика. В режиме Visual:Exec испол- +
-     ​няется отдельно каждая команда,​ а в режиме ​ Visual:​Trace +
-     ​взамен ​ одной команды ​ [[msx:basic_programming_guide:07#​call|CALL]] ​ исполняется ​ вся вызываемая +
-     ​подпрограмма. +
-     ​Все точки приостанова ​ устанавливаются в основных банках +
-     ​памяти ​ (которые были ​ включены ​ при запуске отладчика). +
-     ​При достижении ​ одной ​ из активных точек приостанова ​ (с +
-     ​признаком "​+"​ или "~") либо выполняется уменьшение счет- +
-     ​чика (если он ненулевой),​ либо приостанавливается выпол- +
-     ​нение программы и управление передается отладчику. ​ Ана- +
-     ​логично выполнение программы приостанавливается ​ при из- +
-     ​менении содержимого ​ одного ​ из  активных контролируемых +
-     ​байтов. ​ Следует иметь в виду, ​ что выполнение программы +
-     ​значительно замедляется при установке контроля изменения +
-     ​байтов. +
-     ​Выполнение программы можно приостановить нажатием клави- +
-     ши <​stop>​ (если прерывания в этот момент разрешены). При +
-     ​выполнении ​ команды RET с начальным состоянием стека или +
-     ​команды RST 0  управление ​ также ​ передается ​ отладчику;​ +
-     ​при этом считается,​ что программа успешно завершена. +
-     ​Обработка ​ точек ​ приостанова ​  ​организуется ​ с  помощью +
-     RST 0, поэтому все остальные команды RST могут использо- +
-     ​ваться в отлаживаемой программе ​ без ограничений. ​ После +
-     ​возврата управления отладчику в окне листинга ассемблера +
-     ​первая строка устанавливается на команду, ​ с которой на- +
-     ​чиналось выполнение,​ а вторая ​ -  на ту, которая вызвала +
-     ​приостанов (в ней устанавливается курсор). +
-     ​Передача управления отладчику ​ при достижении точки при- +
-     ​останова ​ или ​ при завершении программы ​ возможна только +
-     ​при условии, ​ что странице 0000h-3FFFh в этот момент со- +
-     ​поставлен ​ основной банк памяти ​ (тот же,  что и при за- +
-     ​пуске отладчика). +
-     ​При выполнении программы ​ ведется ​ подсчет ​ профилей ​ по +
-     ​всем символическим именам ​ (при каждом прерывании и  при +
-     ​трассировке отдельной команды ​ увеличивается ​ на единицу +
-     ​счетчик профиля ближайшего символического имени ​ с адре- +
-     ​сом,​ меньшим текущего PC).  Значения ​ счетчиков ​ профиля +
-     ​отображаются в правой колонке окна листинга ассемблера. +
- +
-22.<​ctrl>​+X ​  ​(<​SELECT>​) Выполнение одной команды. +
-     ​Выполняются те же действия, ​ что и по указанию <​ctrl>​+G,​ +
-     ​но ​ исполняется ​ только ​ одна команда ​ (расположенная по +
-     ​адресу из счетчика команд PC). Можно исполнять также ко- +
-     ​манды,​ находящиеся в ПЗУ (однако точки приостанова в ПЗУ +
-     ​устанавливать нельзя). +
- +
-23.<​ctrl>​+T ​  ​Выполнение команды с обходом подпрограммы. +
-     ​Выполняется аналогично ​ <​ctrl>​+X, ​ но  для команды ​ [[msx:​basic_programming_guide:​07#​call|CALL]] +
-     ​управление возвращается отладчику ​ только после выполне- +
-     ​ния вызываемой подпрограммы. При выполнении подпрограммы +
-     ​выполняется ​ обычная обработка ​ точек приостанова (как в +
-     <​ctrl>​+G). +
- +
-24.<​ctrl>​+P ​  ​Установка ​ счетчика команд PC  на  ту  команду,​ +
-     ​против которой находится курсор. +
- +
-25.<​ctrl>​+V ​  ​Выбор режима мультипликации. +
-     ​Устанавливается один ​ из  режимов ​ Visual:​No, ​ Exec  или +
-     ​Trace. +
- +
- +
-     ​Распределение видеопамяти:​ +
- +
-0000h - PNT системы и программы. +
-1000h - PGT системы и программы. +
-2000h - PNT отладчика. +
-2800h - PGT отладчика. +
-3000h - PNT подсказки. +
- +
-</​code>​ +
- +
- +
-{{dbgrdv.zip|}},​ [[http://​fms.komkon.org/​MSX/​DBGRDV.zip|оригинал]] +
- +
-====== Ссылки ====== +
- +
-http://​fms.komkon.org/​MSX/​DBGRDV.zip +
- +
- +
-{{tag>​MSX Assembler}} +
msx/xdbg/xdbg.1593415721.txt.gz · Последние изменения: 2020-06-29 10:28 — GreyWolf