User Tag List

Показано с 1 по 10 из 211

Тема: Кросс-средства для программирования под МП 1801, 1806, 588

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    16.12.2014
    Адрес
    г. Ожерелье
    Сообщений
    769
    Спасибо Благодарностей отдано 
    252
    Спасибо Благодарностей получено 
    46
    Поблагодарили
    42 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Кросс-компилятор бейсика для БК

    http://litwr2.atspace.eu/bk11.html

    Поддерживаются (некоторые слова из бейсика БК0011):
    ^ \ * + - ( ) = < > <= >= =< => <> ><
    ? ABS AND ASC AT BIN$ BLOAD BSAVE CHR$ CLEAR CLS CSRLIN DATA DEC DEF DIM ELSE END EOF EQV FILES FIND FN FOR GET# GOSUB GOTO HEX$ IF IMP INKEY$ INP INPUT INSTR LEN LET LOCATE MID$ MOD MONIT NEXT NOT ON OR OUT PEEK POKE POS PRINT READ REM RESTORE RETURN SGN SPC STEP STR$ STRING$ SYSTEM TAB THEN TO UINT$ UPPER$ USR VAL VARPTR XOR


    Не поддерживаются:
    BEEP CINT COLOR KEY OCT$
    CIRCLE DRAW PAINT POINT PRESET PSET
    / ATN CDBL COS EXP INT FIX LOG PI RND SIN SQR TAN CSNG
    . AUTO CALL CLOAD CONT CSAVE DELETE LIST LLIST LOAD LPOS MERGE NEW RENUM RUN SAVE STOP TROFF TRON
    SCREEN


    Новые возможности:

    + Имена переменных могут быть любой длины.

    + Можно использовать ':' для разделения операторов. Длина строки не ограничена.

    + Новый оператор GET# позволяет получать данные из файла символ за символом, т.е. GET#a$ вводит один знак или пусто в a$ из открытого для чтения файла. Это файловый эквивалент INKEY$.

    + Новая функция DEC переводит 16-ю строку в целое, т.e., dec("a0A")=2570.

    + INSTR можно использовать с двумя аргументами, т.е., instr("abcdef", "cd") = instr(1, "abcdef", "cd").

    + Новая функция UPPER$ переводит маленькую латинскую букву в большую.

    + Новая функция UINT$ перевоит в беззнаковое целое в виде строки, т.е. UINT$(-1) gives "65535".


    Неподдерживаемые или поддерживаемые ограничено возможности бейсика БК:

    - Поддерживаются только целые (в диапазоне -32768..32767) и строковые (длиной до 255 знаков) типы.

    - DIM нужно использовать с любым массивом (даже меньшим 10) и его числовой аргумент должен быть целой константой. Поддерживаются только массивы с одной размерностью. После DIM можно описывать только одну переменную-массив. Виртуальные массивы не поддерживаются (это верно и для VARPTR).

    - Только некоторые ошибки синтаксиса обнаруживаются.


    Особые замечания:

    * Размер генерируемых исполнимых файлов до 32256 байт. 16384 дополнительных байт используются для строк и машинного кода. Программа стартует с адреса 512. Код использует вызовы АнДОС, которые эмулируют ПЗУ БК0010. Код не использует вызовы ПЗУ БК0011.

    * Память по адресам 532-565 свободна для любого использования. Память выше адреса 16384 может переключаться, поэтому она имеет ограничения для прямого использования для машинных кодов и данных.

    * Прерывания клавиатуры используются для автоповтора нажатия клавиши. Это меняет стандартную схему работы с кириллицей -- используйте AP2.

    * Необходимо ставить пробелы между склеивающимися лексемами, например, 'if a<3 goto 10' требует пробелов между 'if' и 'a', а также между 'goto' и '10'.

    * Страницы памяти 2, 3 и 6 используются для программ и данных. Страница 0 -- это буфер ввода-вывода. Страница 4 содержит AnDOS. Другие страницы свободны для любого использования.

    * CLEAR требует в точности двух аргументов, но 1-й игнорируется, т.к. вся свободная память используется для строк. CLEAR вызывает сначала уборщик мусора. Второй аргумент устанавливает верхнюю границу памяти для бейсика. Начальное значение этой границы -- 49152.

    * INPUT работает нестандартно, если использует несколько переменных для ввода. Например, 'INPUT A,B' требует ввести значения для А и затем нажатия клавиши Ввод, затем ввeсти значения для B и нажатия на Ввод.

    * CSRLIN и POS игнорируют аргументы.

    * FRE показывает размер всей свободной памяти. Уборщик мусора вызывается только если у аргумента строковый тип. Поэтому в случае целого или отсутствующего аргумента показанный результат может быть меньше действительного.

    * FIND должен использовать какой-нибудь файловый шаблон MS-DOS. Так FIND "*.TXT" покажет все файлы с расширением TXT, а FIND "?." покажет файлы с именами, состоящими из одного знака и без расширения. Шаблоны чувствительны к регистру знаков.

    * BLOAD всегдa требует 3-х аргументов, например, BLOAD "MC",,32768 или BLOAD "MC.BIN",R,47*1024.

    * BLOAD и BSAVE не работают с файлом более 16 KБ.

    * USRn(X) вызов кладет X в R5 и затем использует CALL. Поэтому вернуться из такой ассемблерной функции можно по инструкции RETURN. Результат следует помещать в R5.

    * SYSTEM и MONIT работают как END.

    * FILES идентична FIND.

    * \-операция может правильно делить -32768, но игнорирует деление на 0 и переполнение.

    * %-суффикс для целых переменных необязателен.

    * Служебные слова нужно писать полностью, без сокращений.


    Общая информация:

    @ Используйте PEEK(208) and -256 для проверки состояния файла после попытки открытия. Значение должно быть 0, если операция прошла успешно.

    @ Будьте осторожны с PEEK и POKE -- они игнорируют младший (четность) бит.

    @ Компилятор распространяется по лицензии GNU General Public License, версии 2 или, по вашему усмотрению, более поздней версии. Эта лицензия доступна через сеть по адресу <http://www.gnu.org/copyleft/gpl.html>. GPL устроена так, что позволяет вам менять содержимое пакета и распространять его по другой схеме до тех пор, пока вы не лишаете такой свободы других.

    @ Это свободный, быстрый и сделанный как попало компилятор, созданный преимущественно для компиляции программы Notepad-BK. Это не Visual Studio...
    Последний раз редактировалось litwr; 11.05.2015 в 19:19.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Вектор-06Ц: Средства разработки
    от Tim0xA в разделе Вектор
    Ответов: 269
    Последнее: 20.10.2025, 17:04
  2. Микропроцессоры МПК1810,580,1801 и много чего интересного...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 8
    Последнее: 03.06.2012, 22:16
  3. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Средства разработки для C64
    от andrews в разделе Commodore 16/64/128
    Ответов: 0
    Последнее: 05.04.2010, 13:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •