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

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


msx:dbg:dbg

Это старая версия документа!


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

FIXME

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

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

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

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

dbg.zip

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

В тексте данного документа применяются следующие обозначения: FIXME в уголковые скобки < и > берутся названия специальных клавиш; пробелом разделяются клавиши, которые нужно нажимать последовательно, а плюсом - одновременно.

Программа DBG представляет собой экранный отладчик программ, написанных на ассемблере Z80. Этот отладчик может использоваться на ПЭВМ MSX2 и MSX, оснащенных VDP 9938 («YAMAHA» YIS503II), под управлением операционной системы 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.1636714389.txt.gz · Последние изменения: 2021-11-12 13:53 — GreyWolf