Skip to content

Commit 032e08c

Browse files
committed
Improve debug
1 parent 863bd2f commit 032e08c

2 files changed

Lines changed: 9 additions & 8 deletions

File tree

docs/assembler.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Язык ассемблера
22

3-
Ассемблер заменяет мнемоники кодов на шестнадцатиричные машинные коды
4-
(ассемблирует).
3+
Ассемблер транслирует мнемоники кодов в шестнадцатиричные машинные коды.
54

65
Язык ассемблера доступен для всех модельных машин.
76
Модель машины нужно задать первой директивой `.cpu`, как и для файлов в машинных
@@ -14,7 +13,8 @@
1413
- `modelmachine run FILENAME` - выполнить ассемблерный файл;
1514
- `modelmachine debug FILENAME` - отладить ассемблерный файл,
1615
отладчик выводит исходный текст программы на ассемблере
17-
рядом с текущим состоянием памяти;
16+
рядом с текущим состоянием памяти; при изменении состояния
17+
памяти исходный текст не меняется.
1818

1919
Ассемблер нечувствителен к регистру.
2020
В том числе метки нечувствительны к регистру.

modelmachine/ide/debug.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -350,8 +350,8 @@ def _format_page_part(self, page_part: range, current_cmd: range) -> str:
350350
def _format_page(
351351
self,
352352
page: int,
353-
current_cmd: range,
354353
*,
354+
current_cmd: range = range(0),
355355
has_printed_prev: bool,
356356
visible: range | None = None,
357357
) -> str:
@@ -403,7 +403,9 @@ def dump_full_memory(self) -> None:
403403
printf(self.c.dirty_memory("... dirty memory ..."))
404404
printf(
405405
self._format_page(
406-
page, current_cmd, has_printed_prev=has_printed_prev
406+
page,
407+
current_cmd=current_cmd,
408+
has_printed_prev=has_printed_prev,
407409
),
408410
end="",
409411
)
@@ -420,7 +422,7 @@ def memory(self, begin: int = -1, end: int = -1) -> None:
420422
if end == -1:
421423
end = begin
422424

423-
current_cmd = range(begin, end + 1)
425+
visible = range(begin, end + 1)
424426
for page in range(
425427
begin // self._page_size,
426428
end // self._page_size + 1,
@@ -429,9 +431,8 @@ def memory(self, begin: int = -1, end: int = -1) -> None:
429431
printf(
430432
self._format_page(
431433
page,
432-
current_cmd,
433434
has_printed_prev=has_printed_prev,
434-
visible=current_cmd,
435+
visible=visible,
435436
),
436437
end="",
437438
)

0 commit comments

Comments
 (0)