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

User Tag List

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя
Показано с 11 по 20 из 58

Тема: Нужна виртуальная машина на ZX

  1. #11
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,751
    Спасибо Благодарностей отдано 
    256
    Спасибо Благодарностей получено 
    266
    Поблагодарили
    200 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    mastermind, а оно надо?
    и для чего?
    для исдоса? для трдоса?
    С уважением,
    Jerri / Red Triangle.

  2. #12
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eltaron Посмотреть сообщение
    Большинство средств это как раз умеет. Ассемблер из GNU Binutils для z80 генерирует COFF, Си-компилятор gcc генерирует даже ELF. Оба формата содержат всю информацию о тех участках кода, куда нужно добавить какое-нибудь смещение при релоцировании.
    ELF перебор, а вот COFF поддержать на спекки милое дело
    sdcc тоже генерирует какой-то перемещаемый формат, но свой, не стандартный.
    Программа должна быть перемещаемой на лету, со всеми переменными-указателями, регистрами-указателями и массивами указателей.

  3. #13
    Banned
    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Предлагаю всем вместе поломать головы над виртуальной машиной для Z80. Задачи, которые стоят:
    1. Код плотнее, чем на Z80.
    4. Возможность использования ассемблерных вставок с ограничениями.
    Код Z80 заархивированный RAR-ом

  4. #14
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    С релокацией данных есть два решения:
    а) Использовать только массивы, никаких указателей.
    б) Типизировать переменные (указатель/не указатель). Регистры тоже.

    С релокацией стека тоже два решения:
    а) Типизировать значения в стеке (число/адрес).
    б) Класть в стек не адреса процедур, а их номера.

  5. #15
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    С релокацией данных есть два решения:
    а) Использовать только массивы, никаких указателей.
    б) Типизировать переменные (указатель/не указатель). Регистры тоже.

    С релокацией стека тоже два решения:
    а) Типизировать значения в стеке (число/адрес).
    б) Класть в стек не адреса процедур, а их номера.
    ого никогда не мог понять язык гуру, есть вопросы

    1. a) в чем суть? чтобы прога оперировала не куском данных а номером куска данных? это ж тормоз какой - сложи байт под рег. номером 2 с long-ом под номером 8 и положи результат в стринг под номером 88?

    2. b) без стека вообще может? сначала define всех процедур\слов как в fort а потом применить их как новые "слова\команды"

  6. #16
    Banned
    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Это мне напоминает компьютер TI99/4

    Как в других компьютерах того времени, сразу после включения компьютера, пользователю был доступен язык программирования Бэйсик. Но ПЗУ компьютера содержало не Бэйсик, как следовало ожидать. Оно содержало интерпретатор байт кода, который назывался GPL. Программы для этого интерпретатора были записаны в специализированные ПЗУ, которые назывались GROM (Graphics ROM).

    Чтение данных из GROM осуществлялось через 8-битные порты ввода-вывода. Установка адреса чтения происходила за 2 команды процессора, сначала записывались старшие 8 бит адреса, затем младшие. При каждом чтении данных, адрес чтения автоматически увеличивался. При этом, GROM работал намного медленнее процессора.

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

    Интересной особенностью GROM было то, что последние 2 Кб каждых 8 Кб данных не использовались. Таким образом, адресное пространство GROM составляло 48 Кбайт.

    Дак вот. Бэйсик, использовавшийся в этом компьютере, был написан на языке GPL и записан в микросхему GROM, установленную внутри компьютера. То есть, интерпретатор Бэйсика сам написан на интерпретаторе! Двойная интерпретация.

    Программа, написанная на Бэйсике, хранится в видео памяти. Доступ к ней возможен только через медленные порты ввода вывода.

    И получаются страшные тормоза...

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

  8. #17
    ZEK
    Гость

    По умолчанию

    Самое серьезное байткодовое что есть для Z80 это http://ru.wikipedia.org/wiki/UCSD_p-System. Машина стековая. Исходники доступны на ассемблере 8080/Z80

  9. #18
    DimkaM
    Гость

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Нужна виртуальная машина на ZX
    Я так понял кое какие наработки в голове уже есть?
    Можешь более развёрнуто описать сабж? Я так понимаю что это что то типа бейсик48 калькулятора(очень приближённое сравнение)?!

    Предложение:
    1.МиниРедактор ОПкода желателено в ПЗУ тоже иметь.
    2.Сначала реализовать минимальный прототип онли 48к, чтобы оценить возможности и потребности.
    Последний раз редактировалось DimkaM; 10.01.2012 в 12:07.

  10. #19
    Guru
    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    1. a) в чем суть? чтобы прога оперировала не куском данных а номером куска данных? это ж тормоз какой - сложи байт под рег. номером 2 с long-ом под номером 8 и положи результат в стринг под номером 88?
    Примерно так. Естественно, константы будут непосредственно в коде.

    Цитата Сообщение от bigral Посмотреть сообщение
    b) без стека вообще может? сначала define всех процедур\слов как в fort а потом применить их как новые "слова\команды"
    Вложенность вызовов требует стека. Надо же знать, куда возвращаться после подпрограммы!

  11. #20
    DimkaM
    Гость

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Надо же знать, куда возвращаться после подпрограммы!
    Передавать в параметрах?

Страница 2 из 6 ПерваяПервая 123456 ПоследняяПоследняя

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

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

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

Похожие темы

  1. ZXMAK2 - Виртуальная машина ZX Spectrum
    от ZXMAK в разделе Эмуляторы
    Ответов: 1974
    Последнее: 07.03.2024, 23:45
  2. Машина Тьюринга для Z80
    от ZXMAK в разделе Эмуляторы
    Ответов: 4
    Последнее: 15.08.2011, 03:26
  3. Продвинутая Мелко Машина 1
    от Black_Cat в разделе Зарубежные компьютеры
    Ответов: 74
    Последнее: 03.03.2009, 09:05
  4. Что за машина такая??? Commodore 128...
    от ILoveSpeccy в разделе Commodore 16/64/128
    Ответов: 5
    Последнее: 31.10.2007, 10:25
  5. Java-машина
    от Error404 в разделе Программирование
    Ответов: 2
    Последнее: 15.01.2007, 15:11

Ваши права

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