Перейти к содержимому

Эта функция уничтожает программы: VAL() из MS-BASIC

8-Bit Show And Tell

0:00 / 0:00

Эта функция уничтожает программы: VAL() из MS-BASIC

51 075 просмотров · 2 года назад
8-Bit Show And Tell
60,8 тыс. подписчиков
51 075 просмотров · 2 года назад
В функции VAL() большинства ранних реализаций Microsoft BASIC таится ошибка, которая может повредить вашу программу. Мы демонстрируем её на Commodore 64 и VIC-20, но она присутствует и на многих других компьютерах на базе 6502, а также на компьютерах Z80 и даже 6809, как было обнаружено многими отзывчивыми людьми в интернете. Затем мы пытаемся объяснить, почему возникает эта ошибка: она является результатом своего рода коварного хака, использующего процедуру вычисления Microsoft BASIC в сочетании с особым случаем — ошибкой переполнения. Краткое справочное руководство по VIC-20 Джеффа Дэниелса: https://jeffdaniels.itch.io/vic-20-qu... Набор инструментов: BASIC https://archive.org/details/Compute_s... Блог Аллена Хаффмана: https://subethasoftware.com/2023/08/1... Все твиты X:   / 1692238191720600008     / 1692313328209559923     / 1693074790855102861     / 1692300818815283262     / 1692368840569851958   Текст заключительной песни «Call An Awesome Superhero» в исполнении пятилетнего сына Робин. Поддержать 8-Bit Show And Tell: Стать спонсором:   / 8bitshowandtell   Разовое пожертвование: https://paypal.me/8BitShowAndTell 2-й канал:    / @8-bitshowandtell247   Индекс: 0:00 A Немного о VAL() 2:31 + Сложение или конкатенация? 4:42 10 A=VAL("1E39"):REM SHOW BUG 7:53 VIC-20: VAL(TI$) 11:45 ToolKit: BASIC Explanation 13:40 Что за ошибка переполнения? 39 цифр 15:14 VAL() нужна строка с завершающим нулем 18:30 Время для мониторинга машинного языка 22:22 Спасибо моим покровителям и друзьям по X-Twitter!