Устройство BASIC в C64, часть 2: Как выполняется ваша программа
Commodore History
0:00 / 0:00
Устройство BASIC в C64, часть 2: Как выполняется ваша программа
2 134 просмотра · 1 мес. назад
Commodore History
5,89 тыс. подписчиков
2 134 просмотра · 1 мес. назад
Вы когда-нибудь задумывались, что на самом деле происходит, когда вы запускаете программу на BASIC и набираете RUN на своем Commodore 64? В этом эпизоде я прослеживаю выполнение одной строки кода BASIC интерпретатором, начиная с цикла, управляющего всей программой, и заканчивая крошечной самомодифицирующейся подпрограммой, которая переписывает свой собственный код каждый раз, когда считывает байт.
Разделы:
0:00 - Введение
0:59 - Краткий обзор первого эпизода
1:33 - Общий обзор основного цикла интерпретатора BASIC
2:59 - Подробное рассмотрение NEWSTT - как интерпретатор находит следующее операторное выражение BASIC
4:46 - Подробное рассмотрение CHRGET - как интерпретатор загружает следующий байт вашей программы
8:48 - Подробное рассмотрение GONE2/GONE3 - подпрограмма диспетчеризации интерпретатора BASIC
13:46 - Подробное рассмотрение подпрограммы обработчика ключевого слова PRINT интерпретатора
16:13 - Как CHRGET попадает в оперативную память с нулевой страницей
17:14 - Краткая история Commodore BASIC
18:51 - Заключительные замечания
Все, что показано в этом видео, проверено на соответствие реальному ПЗУ BASIC для C64. Используемый дизассемблированный код был первоначально создан Ли Дэвисоном и отформатирован Майклом Стейлом. Перекрестные ссылки и дополнительный контекст взяты с сайта https://pagetable.com/c64ref/c64disasm/
Microsoft открыла исходный код своего оригинального BASIC для 6502 в 2025 году, и вы можете прочитать его сами здесь: https://github.com/microsoft/BASIC-M6502
Если вы пропустили первую часть этой серии, она здесь: • C64 BASIC Internals, Part 1: How Your Prog...