Важная информация

User Tag List

Страница 16 из 22 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 213

Тема: Компилятор языка Паскаль - планы на будущее

  1. #151
    Guru Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,686
    Спасибо Благодарностей отдано 
    422
    Спасибо Благодарностей получено 
    196
    Поблагодарили
    174 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bolt Посмотреть сообщение
    Что именно убрать в отдельную прогу и что не зависит от программиста? Если речь идёт об оптимизации размер-скорость, то потом будут отдельные ключи для выбора режима оптимизации. А сейчас такого выбора нет, любое упрощение и уменьшает размер, и увеличивает скорость.
    ARM пробовал, даже вывел текст на плате STM32F746G-DISCO, но там такое количество регистров и объём RTL, что оно отложено до лучших времён. А добавить STM8 не сложнее Z80.
    нужны операторы скобочные в Паскаль, чтобы они затем переходили в текст на ассемблере, а по ним эта прога-профайлер? определит время выполнения выделенного скобками фрагмента исходника( количество машинных циклов), задействованную память и регистры. Можно это все конечно добавить и в компилятор на своем ключе и генерить еще один файл.
    Это подспорье программисту, который будет осваивать написание на нем эффективных программ. Мне не встречалось систем с дисплеями на STM8, хотя во Франции в 70-80е были компьютеры на ST6, ST7, и кажется это их предшественники архитектурно. На STM32 есть серия STM32 Primer с ЖКИ дисплеями. Там и операционка и игры были
    http://www.stm32circle.com/resources/stm32primer2.php
    и Паскаль с графикой там может быть в тему.

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

  3. #152
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andrews Посмотреть сообщение
    нужны операторы скобочные в Паскаль, чтобы они затем переходили в текст на ассемблере, а по ним эта прога-профайлер? определит время выполнения выделенного скобками фрагмента исходника( количество машинных циклов), задействованную память и регистры.
    Теперь понял. Но... не понимаю зачем это именно в такой форме. Потому что код может меняться при изменении программы за пределами этого "оператора", и даже в другой версии компилятора, а программа на ЯВУ, подогнанная под один процессор, может быть очень медленной на другом.
    Но если очень надо можно добавить, а потом уже пусть кто-нибудь пишет профайлер.
    Цитата Сообщение от andrews Посмотреть сообщение
    Мне не встречалось систем с дисплеями на STM8.
    ...
    На STM32 есть серия STM32 Primer с ЖКИ дисплеями.
    На STM32 много чего есть с дисплеями.
    STM8 не обязательно должен быть с дисплеем и играми, он может выполнять и другие задачи.

  4. #153
    Master
    Регистрация
    21.01.2011
    Адрес
    г.Кстово
    Сообщений
    703
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bolt Посмотреть сообщение
    Turbo Pascal имеет две особенности, которые позволяют ему так работать: он однопроходный, и наглухо прибит гвоздями к одной архитектуре.
    Apple Pascal, видимо, тоже.

    В 1-2 плоских мегабайта ещё можно попробовать уложиться. Но не в 64к с окнами, там половина тактов на переключение страниц уйдёт.
    Или поднимаем тактовую, чтобы получить приемлемое время работы.
    Или прибиваем гвоздями к Z80 и NedoOS, переписывая всё с нуля на ассемблере с использованием трюков для экономии байтов, тактов и регистров.
    Судя по всему там какие-то космические технологии использовались, раз они в 32к убирались. А уж 1-2 мегабайта появились далеко не сразу, а всё это время паскаль работал и компилировал (из ИДЕ со встроенным дебаггером!).

    В целом понял твою позицию. Я просто тему всю не прочитал, а думал ты делаешь компилятор именно под ZX, а оказывается это кросс.
    Zx-Evolution rev.c
    ZS Scorpion 1024K rev.2013

  5. #154
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    О космических технологиях. Так, прикидочные расчёты, самому интересно. Движемся в обратную сторону.
    Расход памяти при сборке demo_z.pas около 6.7 мегабайт.
    Если переписать препроцессор и лексический анализатор, то можно убрать 1.7, останется 5 мегабайт.
    Выбрасываем пост-оптимизацию, чтобы не хранить выходной текст в памяти, или сгружаем на диск - минус 2.6 мегабайта, остаётся 2.4 мегабайта.
    Переделываем транслятор в промежуточный код, ограничиваем размер подпрограммы - минус 1.1 мегабайта, остаётся 1.3 мегабайта.
    Выбрасываем смарт-линк и некоторые другие фичи, транслируем всё подряд - ещё минус 0.8, остаётся 0.5.
    Много указателей, они сейчас 64-битные, если 32 бита - ну, раза в полтора уменьшится. 300 килобайт.
    Хранить статически, а не в куче - будет ещё меньше.
    Да можно вообще управиться за один проход и хранить только видимые идентификаторы - 100 килобайт.
    16-битные указатели - вау, 64 килобайта.
    То есть возможно, но это будет уже извращённое программирование и потеря многих функций.

    Да, это кросс, который в той или иной степени уже может Z80, STM8, PIC24, PIC32 (MIPS), STM32 (ARM), и даже собирает сам себя под 80386 и потом запускается, но не до конца работает

  6. #155
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,162
    Записей в дневнике
    39
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    37
    Поблагодарили
    24 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    поройтесь в интернетах, найдете дизассемблер Trubo Pascal(кажется, под Amstrad PCW) и попробуйте собрать.
    Правда, полученный код слегка убогий.

  7. #156
    Master
    Регистрация
    21.01.2011
    Адрес
    г.Кстово
    Сообщений
    703
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нашел уже, спасибо. Буду разбираться. Вместе с ним идёт хорошая дока - анализ работы компилятора, где подробно описывается его функционирование.


    Ещё нашел исходники TP 7, но они на паскале )
    Zx-Evolution rev.c
    ZS Scorpion 1024K rev.2013

  8. #157
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Одна и та же программа на z80 и i8086
    Вычисляет простые числа от 1 до 1000.

    Нажмите на изображение для увеличения. 

Название:	Снимок экрана от 2019-07-12 11-28-40.png 
Просмотров:	83 
Размер:	14.4 Кб 
ID:	69559 Нажмите на изображение для увеличения. 

Название:	Снимок экрана от 2019-07-12 11-10-46__3.png 
Просмотров:	78 
Размер:	9.7 Кб 
ID:	69560

  9. #158
    Veteran
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,042
    Спасибо Благодарностей отдано 
    934
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    122 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Нету двойки. Я тоже просуммировал для интереса. Просто складывал простые числа. Получил 76127.

  10. #159
    Master
    Регистрация
    14.04.2013
    Адрес
    г. Ростов-на-Дону
    Сообщений
    608
    Спасибо Благодарностей отдано 
    70
    Спасибо Благодарностей получено 
    54
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо на найденную ошибку
    Ошибка не в компиляторе, ошибка в подсчёте суммы. Исправлено.

  11. #160
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,162
    Записей в дневнике
    39
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    37
    Поблагодарили
    24 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    у меня другие числа почему-то

Страница 16 из 22 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Пожелания и планы по эмулятору Башкирия-2М
    от b2m в разделе Эмуляторы отечественных компьютеров
    Ответов: 823
    Последнее: 01.07.2019, 21:19
  2. Пожелания и планы по эмулятору MESS
    от shattered в разделе Эмуляторы отечественных компьютеров
    Ответов: 57
    Последнее: 02.08.2017, 22:14
  3. Планы на новые создаваемые игры
    от TomCaT в разделе Игры
    Ответов: 67
    Последнее: 21.03.2012, 14:44
  4. Назад в будущее?
    от Sonic в разделе Оси
    Ответов: 27
    Последнее: 19.07.2005, 16:56

Ваши права

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