Проблема в том, что ошибка в ассемблерном коде в лучшем случае приводит к зависанию. А в худшем - к порче данных на носителе. И никаких там exception handling, если программист сам обработчиков ошибок не понаписал. Бейсик же в процессе исполнения кода выдаёт вполне понятные сообщения об ошибках с указанием строки. А уж С позволяет не только проверить программу "на вшивость" при компиляции, так ещё и навешать всевозможных exception handlers, чтобы при ошибке точно знать где косяк.
Поэтому, чтобы отлаживать ассемблерный код нужно упорство и усидчивость, что у детей встречается крайне редко. Им хочется результата и, желательно, быстро. Если что-то не будет получаться, ребёнок скорее всего это скоро забросит. Так что принцип "от простого к сложному" в педагогике никто не отменял.
Поэтому, чтобы отлаживать ассемблерный код нужно упорство и усидчивость, что у детей встречается крайне редко. Им хочется результата и, желательно, быстро. Если что-то не будет получаться, ребёнок скорее всего это скоро забросит. Так что принцип "от простого к сложному" в педагогике никто не отменял.
Согласен, но можно и нужно начинать обучение ассемблеру с написания небольших вставок на ассемблере, которые расширяют функционал BASIC.
Ты же в своё время, наверно, тоже так начинал?
И ещё, нужно реальное дело (проект) в котором ребёнок увидит результаты своего труда. Ну конечно его нужно делать вместе с ребёнком и на реальных примерах учить его.
На Ассемблере программы пишутся совсем для другого. Это системные утилиты, загрузчики игр, редакторы текста и графики, сетевые утилиты, а также то, что в Бейсике жутко тормозило бы, например игры. Можно, конечно, украсить свои бейсик программы ассемблерными вставками, но это изврат ИМХО. А расширять функционал Бейсика на Ассемблере особого смысла не вижу.
Уточнение: имел в виду расширение функционала (скорости выполнения) только программ на BASIC. Конечно все мои рассуждения выглядят примитивно - но все мы разные люди и у нас могут быть разные мнения.
Проще найти нормальный интерпретатор Бейсика, а не это тормозное поделие от Микрософта. Тот же X-Basic, например:
https://zx-pk.ru/threads/30182-traktat-o-x-basic-e.html
У него даже один горячий поклонник есть. ;)
Проще найти нормальный интерпретатор Бейсика, а не это тормозное поделие от Микрософта. Тот же X-Basic, например:
https://zx-pk.ru/threads/30182-traktat-o-x-basic-e.html
У него даже один горячий поклонник есть. ;)
Благодарю за информацию!
Для моих скромных задач хватит MSX BASIC.
Кун бэйсик обязателен для запуска программ для него или это компилятор.
Есть ли для MSX чтото вроде https://speccy.info/Supercode ?
Проще найти нормальный интерпретатор Бейсика, а не это тормозное поделие от Микрософта. Тот же X-Basic
И мы плавно подошли к изучению отличий интерпретаторов от компиляторов ;-)
Раз уж тема обсуждения разлилась как река, можно сказать что меня напрягало в MSX Basic.
1. Доступная память для программ на бейсике (28кб на ученической/23кб на учительской из общих 128кб).
2. Отсутствие локальных переменных в подпрограммах (это мешало создавать удобные библиотеки подпрограмм)
3. Не удобный рам-диск, точнее с ограниченным функционалом, только последовательный ввод/вывод, отсутствие функций проверки наличия файла, получения размера файла, свободного пространства на рам-диске.
Может мне не повезло, но я во времена учебы в школе так и не увидел штатного компилятора MSX Basic. Он вообще существовал?
Предлагаю вернуться к теме CP/M на MSX.