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

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


msx:dbg:dbg

DBG — экранный отладчик для MSX/MSX2

Автор: Леонид Бараз

Это руководство сделано на основе документации на:

  • DBG — Экранный отладчик, версия 5.2
  • XDBG — Расширенный экранный отладчик, версия 1

отличия DBG/XDBG указаны в тексте.

dbg.zip

Руководство пользователя

В тексте данного документа применяются следующие обозначения для клавиш: пробелом разделяются клавиши, которые нужно нажимать последовательно, а плюсом — одновременно.

Программа представляет собой экранный отладчик программ, написанных на ассемблере Z80. Этот отладчик может использоваться на ПЭВМ MSX2 и MSX, оснащенных VDP 9938 (Yamaha YIS-503IIR), под управлением операционной системы MSX-DOS (в том числе в варианте Ю.В.Галутина).

Команда вызова отладчика DBG:

A>Dbg [имя-программы]

Команда вызова отладчика XDBG:

A>XDbg[/p[/s]][/M] [имя-программы]

После XDbg в команде запуска можно указать от одного до трёх флажков, которые определяют, в каком слоте памяти должен располагаться собственно отладчик. Первые два флажка определяют номера первичного и вторичного слота соответственно:

XDbg/3/0слот 3-0
XDbg/1слот 1 (нерасширенный)

Флажок /M предписывает использование маппера (отладчик располагается в страницах FF, FE и FD). При переносе отладчика максимально возможный размер загружаемой и отлаживаемой программы может достигать 48 Kбайт.

При отсутствии флажков отладчик размещается в основной оперативной памяти, оставляя для программы пользователя вместе с таблицей символических имён только 32 Кбайт. Однако перенести отладчик в параллельную память можно и в процессе работы посредством команды Esc U (см. ниже).

Примеры отображения на экране:

Режим листинга ассемблера

                        окно заголовка
        ┌──────────────────────────────────────────────────┐

┌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│
└─┴───────────────────────────────────────────────────────────┴────────────────┘

Режим загрузки программы

                           окно запроса
                    (дополнительное окно файлов)
        ┌──────────────────────────────────────────────────┐

┌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     .│
└─┴───────────────────────────────────────────────────────────┴────────────────┘

DBG

DBG

Режим листинга

                        окно заголовка
        ┌──────────────────────────────────────────────────┐

┌02000┬───────────────────────────────────────────────────────┬────────────────┐
│List │ DEBUGGER Version 5.2        Help:<Esc>?  Visual:Trace │ EI PC=D827 I=00│
├─────┼──────────────────────────────────────────────────┬────┤32/2-/32/32 R=58│
│     │       7FF8:60           LD    H,B                │    │FB/FA/F9/F8 +MAP│
│     │       7FF9:4B           LD    C,E                │    │T=882B:D0C1/323C│
│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│
└─┴───────────────────────────────────────────────────────────┴────────────────┘

Режим загрузки программы

                           окно запроса
                    (дополнительное окно файлов)
        ┌──────────────────────────────────────────────────┐

┌1F000┬───────────────────────────────────────────────────────┬────────────────┐
│Input│ File:B:prog    .COM  Area:07F0-8A1B  Reloc:0100->07F0 │ EI PC=0100 I=00│
├─────┼──────────────────────────────────────────────────┬────┤32/32/32/32 R=7B│
│     │       012F:CB 16        RL    (HL)               │    │--/--/--/-- -MAP│
│     │       0131:30 0F        JR    NC,0142            │    │T=8A1A:CFC5/75C3│
│     │       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     .│
└─┴───────────────────────────────────────────────────────────┴────────────────┘

Отладчик обеспечивает:

  • загрузку в память и запись на диск программ и таблиц символов (файлов <имя>.<тип> и <имя>.SYM);
  • просмотр и корректировку содержимого оперативной памяти в символьном и шестнадцатиричном формате, а также в виде команд ассемблера;
  • просмотр и корректировку содержимого видеопамяти в символьном и шестнадцатиричном формате;
  • просмотр и изменение содержимого регистров отлаживаемой программы;
  • использование имён, введённых вместе с программой, а также добавление новых имён и удаление имеющихся (имена используются и в командах ассемблера); имена можно настроить на начальный адрес программы;
  • выдачу на печать содержимого текущего окна отладчика;
  • установку и снятие точек приостанова (со счётчиками);
  • установку и снятие контроля изменения байтов памяти;
  • покомандное и непрерывное выполнение программы (в том числе и в режиме мультипликации, с обходом и без обхода команд CALL);
  • возврат управления отладчику: при достижении точки приостанова с нулевым счётчиком, при изменении одного из контролируемых байтов памяти, при нормальном завершении программы, при нажатии клавиши Stop;
  • пересылку и заполнение областей памяти, поиск символьного или шестнадцатиричного образца.
  • выполнение арифметических действий над шестнадцатиричными числами;
  • получение на экране краткой информации о средствах, имеющихся в отладчике.

При запуске отладчик переводит систему в 80–символьный режим и загружает в оперативную память программу, если ее имя указано в команде (имя указывается без уточнения; загружаются файлы <имя>.<тип> и <имя>.SYM).

В процессе работы на экране выделяются поля разметки и поля данных. Курсор всегда находится в одном из полей данных, и только в такие поля можно вносить изменения. При выходе курсора из текущего поля его новое содержимое проверяется и заносится в память машины; все остальные поля экрана при этом приводятся (по возможности) в соответствие с содержимым изменённого поля. Например, для изменения байта или слова данных в любом поле достаточно просто набрать его новое значение и выйти из поля. Аналогично, для того, чтобы передвинуть окно листинга или дампа на другие адреса памяти, достаточно в любой строке набрать нужное имя в поле имени или нужный адрес в поле адреса. Для создания нового имени достаточно набрать его в соответствующем поле, а для удаления существующего — заменить его на новое или заполнить поле имени пробелами.

Все поля данных, имеющиеся на экране, сгруппированы в окна: три основных («дампа», «листинга» и «регистров») и одно дополнительное («заголовка», «файлов» или «памяти»).

Курсор перемещается в пределах одного окна с помощью стрелок, клавиш Ввод , Tab и Ctrl+F. Листание осуществляется по клавишам Ctrl+J (вверх) и Ctrl+Q (вниз). Редактирование информации выполняется символьными клавишами, а также клавишами Ins, Del и Bs. Переход в другое окно (и установка дополнительного окна) выполняются по одной из следующих команд:

Esc LРабота в окне листинга.

Левая колонка содержит точки приостанова (для них указывается максимальный счётчик, признак активности (+ - активна, ~ - активна в параллельном банке памяти, - - неактивна) и текущее значение счётчика). В основной части каждой строки окна располагаются поля имени, адреса, байтов, образующих команду, и самого текста команды.
Правая колонка окна содержит значения счётчиков профилей выполнения программы (в строках команд с символическими именами).
Имена во всех полях (в том числе и в текстах команд) должны заканчиваться двоеточием. Например, команды могут записываться в следующем виде:
LD    A,(name:3000)
LD    A,(name:)
LD    A,(3000)

Команда RST 30 (Inter-Slot Call) дополняется в качестве операндов номером слота и адресом вызова.

Esc DРабота в окне дампа.

Левая колонка содержит признаки контроля изменения байта памяти с указанием активности контроля (+/-/~). В основной части каждой строки окна имеются поля имени, адреса, 6 полей байтов в шестнадцатиричном виде и 16 полей тех же байтов в символьном виде.
Esc VРабота в окне дампа видеопамяти.

Содержимое видеопамяти отображается так же, как и в режиме Esc D, однако левая колонка заполняется буквами V (для VRAM) или E (для ERAM). При просмотре VRAM поле адреса дополняется слева еще одним разрядом, чтобы охватить все 128Kбайт.
Esc RРабота в окне регистров.

Окно содержит поля значений всех регистров, а также байтов или слов, на которые указывают шестнадцатибитные регистры. Одновременно с шестнадцатиричными значениями байтов выдаётся их символьное представление.
Кроме того, имеются поля счётчика команд (PC), состояния обработки прерывания (EI/DI) и выбранного банка памяти (с указанием слота и страницы маппера) для всех четырех 16 Kбайтных страниц.
DBG: Установка конфигурации маппера может быть отключена.
XDBG: Наличие или отсутствие маппера распознаётся автоматически.
Esc YПоказ символических имён.

Окно листинга заполняется строками, соответствующими символическим именам.
Esc BПоказ точек приостанова.

Окно листинга заполняется строками, соответствующими точкам приостанова.
Esc HПоказ контролируемых байтов.

Окно дампа заполняется строками, соответствующими адресам байтов, изменение которых контролируется.
Esc IЧтение файлов.

В дополнительном окне располагаются поля имени файла и интервала адресов для размещения программы. После нажатия клавиши перевода строки файл с именем <имя>.<тип> считывается в память (конфигурация слотов и маппера определяется соответствующими полями в окне регистров).
Кроме того, к таблице имён присоединяются имена из файла <имя>.SYM, если он есть. С помощью полей Reloc: можно указать настройку символических имён на нестандартный начальный адрес программы.
Esc OЗапись файлов.

В дополнительном окне располагаются поля имени файла и интервала адресов. После нажатия клавиши перевода строки указанная область памяти записывается в файл <имя>.<тип>, а все символические имена — в файл <имя>.SYM (конфигурация слотов и маппера определяется соответствующими полями в окне регистров).
Esc PВыдача на печать содержимого текущего окна отладчика (печать прерывается при нажатии Ctrl+Stop).
Esc MПересылка информации.

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

В дополнительном окне располагаются поля запроса интервала адресов и образца для заполнения. Образец для заполнения может быть набран в символьном или шестнадцатиричном виде (вид определяется полем, содержащим букву C или X соответственно). Размер образца определяется положением курсора в момент нажатия клавиши Ввод .
Esc SПоиск образца.

В дополнительном окне располагаются поля запроса интервала адресов и образца для поиска. Образец для поиска может быть набран в символьном или шестнадцатиричном виде (вид определяется полем, содержащим букву C или X соответственно). Размер образца определяется положением курсора в момент нажатия клавиши <перевод строки>. Поиск можно прервать нажатием Ctrl+Stop.
Esc EНачальная установка регистров.

Все регистры устанавливаются в 0, счётчик команд PC устанавливается на 100h, состояние прерываний — разрешены (EI), всем страницам памяти сопоставлены основные банки памяти (установленные при запуске отладчика).
Esc ZНачальная установка текущих счётчиков точек приостанова (они устанавливаются равными максимальным счётчикам).
Esc CШестнадцатиричный калькулятор.

В дополнительном окне располагаются два поля операндов (четырёхзначные шестнадцатиричные числа), поле знака операции (+, -, *, /, %) и поле показа результата. Поле результата заполняется при смене любого операнда или знака операции.
Esc TУстановка базового адреса PNT и PGT отладчика.

Поле базового адреса располагается в левом верхнем углу рамки. При вводе нового значения в этом поле PNT и PGT переносятся на указанный адрес и автоматически инициализируются.
Таблицы PNT и PGT занимают 1000h байт VRAM, начиная с указанного адреса.
Esc QЗавершение работы отладчика и выход в среду операционной системы с восстановлением исходного режима экрана (40/80 символов).

Esc U

Только в XDBG
Перенос отладчика в параллельную память.
Программы и данные самого отладчика переносятся в ту память, которая задана полями слотов и маппера в окне регистров. При этом для загрузки и отладки программ пользователя становится доступным около 48 Кбайт памяти.
Перенос в параллельную память не может быть выполнен, если хотя бы одна из трех страниц (0000…3FFF,4000…7FFF, 8000…BFFF) совпадает с первоначальной по слотовому адресу. Кроме того, если при запуске отладчика или в процессе работы перенос выполнен, его нельзя ни отменить, ни изменить; можно только выйти из отладчика и загрузить его снова.
Esc ?Показ страницы с подсказкой.
Ctrl+GЗапуск программы.
Программа начинает выполняться с адреса, находящегося в счётчике команд PC. Устанавливается заданное пользователем распределение банков памяти.
Если режим мультипликации выключен (Visual:No), на время работы программы экран переключается на обычную страницу системы (0000h). Если же режим мультипликации включён (Visual:Exec или Trace), системная страница не включается, зато после каждой исполненной команды обновляется содержимое экрана отладчика. В режиме Visual:Exec исполняется отдельно каждая команда, а в режиме Visual:Trace взамен одной команды Call исполняется вся вызываемая подпрограмма.
Все точки приостанова устанавливаются в основных банках памяти (которые были включены при запуске отладчика).
При достижении одной из активных точек приостанова (с признаком «+» или «~») либо выполняется уменьшение счётчика (если он ненулевой), либо приостанавливается выполнение программы и управление передаётся отладчику. Аналогично выполнение программы приостанавливается при изменении содержимого одного из активных контролируемых байтов. Следует иметь в виду, что выполнение программы значительно замедляется при установке контроля изменения байтов.
Выполнение программы можно приостановить нажатием клавиши Stop (если прерывания в этот момент разрешены). При выполнении команды RET с начальным состоянием стека или команды RST 0 управление также передаётся отладчику; при этом считается, что программа успешно завершена.
Обработка точек приостанова организуется с помощью RST 0, поэтому все остальные команды RST могут использоваться в отлаживаемой программе без ограничений. После возврата управления отладчику в окне листинга первая строка устанавливается на команду, с которой начиналось выполнение, а вторая — на ту, которая вызвала приостанов (в ней устанавливается курсор).
Передача управления отладчику при достижении точки приостанова или при завершении программы возможна только при условии, что странице 0000h…3FFFh в этот момент сопоставлен основной банк памяти (тот же, что и при запуске отладчика).
При выполнении программы ведётся подсчёт профилей по всем символическим именам (при каждом прерывании и при трассировке отдельной команды увеличивается на единицу счётчик профиля ближайшего символического имени с адресом, меньшим текущего PC). Значения счётчиков профиля отображаются в правой колонке окна листинга.
Ctrl+X (SELECT)Выполнение одной команды.

Выполняются те же действия, что и по указанию Ctrl+G, но исполняется только одна команда (расположенная по адресу из счётчика команд PC). Можно исполнять также команды, находящиеся в ПЗУ (однако точки приостанова в ПЗУ устанавливать нельзя).
Ctrl+T Выполнение команды с обходом подпрограммы.
Выполняется аналогично Ctrl+X, но для команды CALL управление возвращается отладчику только после выполнения вызываемой подпрограммы. При выполнении подпрограммы выполняется обычная обработка точек приостанова (как в Ctrl+G).
Ctrl+PУстановка счётчика команд PC на ту команду, против которой находится курсор.
Ctrl+VВыбор режима мультипликации.
Устанавливается один из режимов Visual:No, Exec или Trace.

Распределение видеопамяти:

0000hPNT системы и программы.
1000hPGT системы и программы.
2000hPNT отладчика.
2800hPGT отладчика.
3000hPNT подсказки.

Ссылки

msx/dbg/dbg.txt · Последние изменения: 2022-08-05 21:56 — GreyWolf