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

User Tag List

Страница 64 из 85 ПерваяПервая ... 606162636465666768 ... ПоследняяПоследняя
Показано с 631 по 640 из 845

Тема: Вектор-06Ц: Общие вопросы

  1. #631
    Member
    Регистрация
    05.01.2009
    Адрес
    Харьков
    Сообщений
    151
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PPC Посмотреть сообщение
    но похоже на Форт-обострение на форуме. Интересно, к чему это...
    Обострение невольно устроил я исключительно из незамутнённого интереса к тому, возможно ли было делать под "Вектор" быстродействующий софт на языках более высокого уровня, чем ассемблер (особенно, учитывая, что наиболее очевидный вариант - C - не очень подходит для эффективной компиляции под 8080).

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

  3. #632
    Banned
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,643
    Спасибо Благодарностей отдано 
    2,237
    Спасибо Благодарностей получено 
    146
    Поблагодарили
    111 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от x-code Посмотреть сообщение
    возможно ли было делать под "Вектор" быстродействующий софт на языках более высокого уровня, чем ассемблер
    Поглядите в сторону PL/M и Cowgol, они дадут лучший код для 8080, чем Си.

    Но под ключ, понятное дело, их допиливать и допиливать.

    Есть ещё интересные разработки типа Си-минус-минус от Алекса Морозова. Но сам Алекс поступает очень странно - трёт свои проекты без сожаления. Вот сейчас я попробовал найти и не смог (было выложено на сайте alemorf.ru, но сейчас он работает странно).

  4. Этот пользователь поблагодарил Oleg N. Cher за это полезное сообщение:

    x-code (01.07.2021)

  5. #633
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,121
    Спасибо Благодарностей отдано 
    803
    Спасибо Благодарностей получено 
    662
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от x-code Посмотреть сообщение
    особенно, учитывая, что наиболее очевидный вариант - C - не очень подходит для эффективной компиляции под 8080
    Я тоже так думал, но ACK пошатнул мои убеждения. Вполне юзабельный компилятор.
    Больше игр нет

  6. Этот пользователь поблагодарил svofski за это полезное сообщение:

    x-code (01.07.2021)

  7. #634
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,863
    Спасибо Благодарностей отдано 
    658
    Спасибо Благодарностей получено 
    1,854
    Поблагодарили
    1,059 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На C под вектор (особенно в последнее время) сделано/перенесено программ заметно больше, чем на Форте.

  8. #635
    Banned
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,643
    Спасибо Благодарностей отдано 
    2,237
    Спасибо Благодарностей получено 
    146
    Поблагодарили
    111 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Да тут дело даже не в хорошем компиляторе Си. Сама структура языка Си подразумевает более мощный проц, чем 8080: рекурсия, активная работа с аргументами функций и локальными переменными через стек, отсутствие восьмибитных вычислений (все вычисления производятся в рамках типа int, а он минимум 16-битный). Всё это выглядит на 8080 очень громоздко, независимо от компилятора. Си всё-таки родился на 16-битном PDP-11, где этих проблем вообще нет.

    Если всё это не смущает, тогда конечно. Хоть Оберон.

    А выше я привёл два языка, которые специально спроектированы для восьмибиток.

    - - - Добавлено - - -

    А в чём эффективность Форта на 8080? Всё равно второй стек приходится эмулировать. Либо переключать аппаратный стек со стека возвратов на стек вычислений и обратно. Неэффективно, потеря производительности.

  9. #636
    Member
    Регистрация
    05.01.2009
    Адрес
    Харьков
    Сообщений
    151
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Есть ещё интересные разработки типа Си-минус-минус от Алекса Морозова
    А вот C-- я ещё 16-летним пацаном мечтал портировать на Вектор...штука была бы просто идеальная для игростроя

  10. #637
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,121
    Спасибо Благодарностей отдано 
    803
    Спасибо Благодарностей получено 
    662
    Поблагодарили
    407 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    А в чём эффективность Форта на 8080? Всё равно второй стек приходится эмулировать. Либо переключать аппаратный стек со стека возвратов на стек вычислений и обратно. Неэффективно, потеря производительности.
    Сама собой эффективность ниоткуда не берется, конечно. Но Форт поощряет вдумчивое написание кода и дает технические возможности сделать его очень компактным.

    Еще не забывайте Pascal/MT+, который очень даже Паскаль. Пример недавнего переноса Сталкера на Вектор показал его профпригодность. Если не переносить сишный код, а писать чего-то с нуля, из Паскаля/МТ+ пожалуй можно выстрадать немного больше, чем из Си. Просто за счет того, что это очень практичный компилятор для своего времени, который поддерживает всякие особенности маленьких машин, оверлеи итд.
    Больше игр нет

  11. #638
    Member
    Регистрация
    05.01.2009
    Адрес
    Харьков
    Сообщений
    151
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    13
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    А в чём эффективность Форта на 8080? Всё равно второй стек приходится эмулировать. Либо переключать аппаратный стек со стека возвратов на стек вычислений и обратно. Неэффективно, потеря производительности.
    Переключение стека - довольно быстрая операция, по сравнению с режимами косвенной адресации, которые на 8080 эмулировать гораздо сложнее.
    Процитирую исходник:

    because Forth can make more efficient use of the 6502's hardware stack. Forth lacks any sophisticated methods of dealing with parameters. Everything is passed through the Forth stack and procedures just deal with the stack for both their input and output. This means the language doesn't require much from the CPU in terms of addressing modes or spend any time doing sophisticated effective address calculations.
    Да, в исходнике про 6502, но он не сильно отличался от 8080 по возможностям адресации.

  12. #639
    Guru
    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    7,863
    Спасибо Благодарностей отдано 
    658
    Спасибо Благодарностей получено 
    1,854
    Поблагодарили
    1,059 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от x-code Посмотреть сообщение
    в исходнике про 6502, но он не сильно отличался от 8080 по возможностям адресации.
    Спорное утверждение.

  13. #640
    Banned
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,643
    Спасибо Благодарностей отдано 
    2,237
    Спасибо Благодарностей получено 
    146
    Поблагодарили
    111 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от x-code Посмотреть сообщение
    А вот C-- я ещё 16-летним пацаном мечтал портировать на Вектор...штука была бы просто идеальная для игростроя
    Да, соглашусь. Там много плюсов: можно явно обращаться к регистрам и много низкоуровневых штучек. Но C-- есть даже не один; их несколько. Вы наверное имеете в виду Sphinx C-- от Michael Sheker? Я когда-то по нему написал статью в двух частях.

    Ну и обсуждали уже этот вопрос здесь:



    Цитата Сообщение от x-code Посмотреть сообщение
    Переключение стека - довольно быстрая операция, по сравнению с режимами косвенной адресации, которые на 8080 эмулировать гораздо сложнее.
    Я с этим даже не собираюсь спорить. Но смотрите. На асме выхлоп получается: байтовое вычисление, двухбайтовое вычисление, сохранил, загрузил регистры, вызвал подпрограмму с параметрами в регистрах. Форт его никогда не догонит, там совсем другое: пяток раз переключили стек, байтовых вычислений нет, есть только двухбайтовые, чтобы сохранить-загрузить - надо опять работать со стеком. Всегда.

    Но есть способ: написать для Форта сверхэффективные слова, которые могут генерировать прямой машкод 8080. Это не считая встроенного Форт-ассемблера. Но я такого подхода практически не встречал. Я вообще не встречал исходников игр на Форте для восьмибиток. В основном пилят сам Форт.

    Вот как бы это могло выглядеть:

    Код:
    HL + BC => var1
    DE + DE => var2
    B + C + D + E & #11 => var3
    Когда-то я делал нечто подобное для Z80: язык COLOSS. Не на базе Форта, просто под его влиянием.

    Опять же, наверно C-- будет повыразительнее и не такой мозголомный в отладке.

Страница 64 из 85 ПерваяПервая ... 606162636465666768 ... ПоследняяПоследняя

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

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

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

Ваши права

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