User Tag List

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

Тема: Basic 48 с подсветкой синтаксиса

Комбинированный просмотр

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

    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,605
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    187 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Гаррий, Легко:

    Цитата из книжки про бейсик:

    Существенный недостаток ZX Spectrum — относительно малый
    объем свободной памяти (около 40 килобайт). А тут еще интерпре-
    татор Бейсика «транжирит» память: под запись любого числа ин-
    терпретатор отводит 6 ячеек памяти независимо от размера числа.

    Под каждый символ отводится 8 ячеек памяти.

    ** Более подробно о подключении альтернативных шрифтов см. [1].

    Даже если это просто единица или ноль. Вот и приходится про-
    граммистам, работающим на Бейсике, изощряться, чтобы втис-
    нуться в узкие рамки памяти Speccy.

    Прежде всего надо расширить область памяти, отведенную для
    работы бейсик-программы. Границы, в которых может размещать-
    ся программа с переменными, определяются компьютером, но мо-
    гут быть изменены. Старший адрес памяти, разрешенный к ис-
    пользованию интерпретатором Бейсика, хранится в системной пе-
    ременной RAMTOP (23730/31). Стандартно он равен 65367. Но
    если программа не вмещается, его можно увеличить до предела —
    до 65535*. Для этого нет необходимости записывать новое значе-
    ние RAMTOP с помощью РОКЕ. Изменить RAMTOP можно с по-
    мощью специально предназначенного для этого оператора CLEAR с
    параметром 65535. Правда, CLEAR к тому же очистит все перемен-
    ные, массивы, выполнит операторы CLS и RESTORE, вообще подгото-
    вит программу к новому пуску.

    Если и после перемещения RAMTOP не хватает памяти, при-
    дется применять более изощренные методы.

    Приведем несколько самых распространенных способов ,сжатия
    бейсик-программ. Хотя в этой области нет предела для фантазии.

    Во-первых, надо свести к минимуму длину имен всех числовых
    переменных. Если их меньше, чем букв в алфавите, то все сделать
    однобуквенными.

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

    Целые числовые константы выгоднее записывать как символь-
    ные и помещать их «под» функцию VAL. К примеру, операторы
    LET а=5 и LET a=VAL "5" тождественны, однако второй оператор
    занимает в памяти на две ячейки меньше (но, следует учесть,
    работает медленнее).

    Для сокращения объема памяти, занимаемого программой, бы-
    вает полезно вместо числовых массивов использовать символьные.
    Ведь под каждый элемент числового массива, независимо от того,
    что в нем хранится, отводится по пять ячеек памяти, в то время, как
    под элемент символьного массива отводится лишь одна ячейка.
    Преобразовать же символьную константу в число можно с по-
    мощью той же VAL.

    И, напоследок, парочку «хитростей». Например, вместо нуля,
    который, как и любое число, занимает в памяти 5 байт, можно
    записать просто BIN, либо NOT PI. Число «пи» отлично от нуля, и это
    главное, а логический оператор NOT, по определению, превращает
    его в ноль. Внешне получилось длиннее и мудреней, но в памяти,
    тем не менее, такая запись займет лишь две ячейки. Вывернув-
    шись, можно «смоделировать» и единицу. Например, записав
    NOT BIN либо SNG PI.
    [свернуть]
    ___________

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    2,254
    Спасибо Благодарностей отдано 
    532
    Спасибо Благодарностей получено 
    260
    Поблагодарили
    154 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    вместо нуля, который, как и любое число, занимает в памяти 5 байт, можно записать просто BIN
    Цитируя, думайте!
    Нажмите на изображение для увеличения. 

Название:	bin.png 
Просмотров:	219 
Размер:	859 байт 
ID:	65215
    В правильно заданном вопросе содержится половина ответа

  4. #3

    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,605
    Спасибо Благодарностей отдано 
    254
    Спасибо Благодарностей получено 
    268
    Поблагодарили
    187 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от creator Посмотреть сообщение
    Цитируя, думайте!
    Книгу писали: Болдачев А.В., Ларченко А.А., под редакцией Родионова. И все эти заслуженные мужи всё-таки допустили ляп с BIN'ом. BIN естественно не годится, NOT PI рулит.
    ___________

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

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

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

Похожие темы

  1. Ответов: 4
    Последнее: 12.04.2017, 19:39
  2. Изучаем BASIC
    от Djoni в разделе Программирование
    Ответов: 5
    Последнее: 20.06.2015, 17:08
  3. LASER BASIC
    от VETER в разделе Программирование
    Ответов: 8
    Последнее: 04.01.2015, 04:48
  4. Программы на BASIC
    от form в разделе ДВК, УКНЦ
    Ответов: 14
    Последнее: 17.04.2010, 15:41

Ваши права

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