User Tag List

Страница 4 из 20 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 200

Тема: Пишем свою ОС. Практика

  1. #31

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    а в 32к на C разве что только "hello world" запускать.
    забыл добавить: "на пц"

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

  3. #32

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    забыл добавить: "на пц"
    Я конечно немного утрирую, но по моему опыту, любая более-менее интересная программа (это обычно 1000-2000 строк) у меня получается порядка 36-40к только кода (а ведь нужна еще и куча, и стек). Использую Hitech-C для CPM - пожалуй единственный 32-битный ANSI C для Z80, работающий нативно на Z80 (в отличие от SDCC, IAR и прочего для PC)
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #33

    Регистрация
    05.10.2006
    Адрес
    Харьковская обл.
    Сообщений
    166
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Про команды ВГ-93 можно прочитать в книге "ZX-SPECTRUM и TR-DOS для пользователей и программистов". Она есть на сайте Virtual TR-DOS

  5. #34

    Регистрация
    05.10.2006
    Адрес
    Харьковская обл.
    Сообщений
    166
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот нашёл эту книжку:
    http://trd.speccy.cz/book/ZX_TRDOS.ZIP

    ---------- Post added at 18:10 ---------- Previous post was at 18:01 ----------

    Цитата Сообщение от Error404 Посмотреть сообщение
    При наличии аппаратной реализации принципа "любая страница в любом окне" нужно планировать под память пользователя (программы/процесса) все 64к адресного пространства. Ядро держать в "теневой" странице и подключать только на время обращения к его функциям.
    Так всё и будет
    НО!
    Не в первом же классе учить детей решать квадратные уравнения

  6. #35

    Регистрация
    23.02.2005
    Адрес
    Донецк
    Сообщений
    486
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    115
    Поблагодарили
    74 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Все это мне напоминает ситуацию, а-ля - почему нельзя на площади заняться сексом с женщиной, советами достанут.

  7. #36

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Разница между 32к/64к для процесса критична в том, что в 64к уже достаточно большой простор для длинномерного компилированного С-кода, а в 32к на C разве что только "hello world" запускать.
    Хорошо, что я об этом не знал и писал на С программки для 8кбайтовых контроллеров

    На самом деле - современные компиляторы С оптимизируют код хорошо. Сам ты его соптимизируешь ну щё процентов на несколько - не больше.

    ---------- Post added at 07:35 ---------- Previous post was at 07:32 ----------

    Цитата Сообщение от Error404 Посмотреть сообщение
    Использую Hitech-C для CPM - пожалуй единственный 32-битный ANSI C для Z80, работающий нативно на Z80 (в отличие от SDCC, IAR и прочего для PC)
    А! так тебе обязательно НАТИВНО работающий? тады ой.

    в принципе, для скорости написания проще использовать кросс-средства.

    нативных оптимизирующих компиляторов С для Z80 не знаю.

  8. #37

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

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Хорошо, что я об этом не знал и писал на С программки для 8кбайтовых контроллеров
    Но согласись что это были довольно простые по логике програмки, далеко не ROM от спектрума и не типичная спектрум игрушка типа exolon. Как показывает практика то длинна кода и скорость при использовании ЯВУ падает в среднем в 3...4 раза так что надо памяти хотябы 256Кб а лучше 512кб частоту не 3Mhz а 20Mhz! И при этом желательно чтоб память была прямоадресуемая без всяких страниц и сегментов (типичный m68000 или mos65816).

  9. #38

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Как показывает практика то длинна кода и скорость при использовании ЯВУ падает в среднем в 3...4
    ну это зависит от того, как писать, да и от компилятора сильно зависит
    если не пользоваться 32х битной арифметикой, вычислениями с плавающей точкой и прочим, чего в процессоре нет, то работать будет быстро, а занимать мало
    си - это же, как говорится, ассемблер высокого уровня.. я, например, не представляю, почему Hello, world на си может получиться значительно больше по объему, чем на асме
    эксолон-не эксолон, а какой-нибудь maziacs (не менее типичная zx-игра) умять в 32 килобайта компиленного сишного кода вполне реально
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

  10. #39

    Регистрация
    27.01.2005
    Сообщений
    924
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    193
    Поблагодарили
    154 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Как показывает практика то длинна кода и скорость при использовании ЯВУ падает в среднем в 3...4
    Это где такая "практика" ? Давай говорить не о "яву", а о языке С, например. О современных компиляторах, а не о поделках 20-летней давности.

    1. Скорость. Для того, чтобы алгоритм был "в 3-4" раза медленне, чем на асме - надо ОООЧЕНЬ постараться. Отключить полностью оптимизацию, писать как попало. Есть, конечно, исключения, но кто мешает сделать ассемблерную вставку ? Как правило, критическая часть кода занимает не более нескольких десятков комманд ассемблера.
    Как правило, проигрыш в скорости - проценты. Никак не 3-4 раза.

    2. Объём. Язык С позволяет разместить данные не менее плотно, чем ассемблер. Только удобств куда как больше.

    3. Скорость разработки. Тут асм явно в проигрыше.

    ИТОГ.

    Проект лучше делать на С, а потом критические места - переписывать на асме.

    Конечно, если программа - расчитана до такта, как некоторые демы - то тут всё на асме пишеться.

    Но в свете написания ОС могу сказать, что тут про асм лучше забыть и не вспоминать без крайней нужды. Писал для ARM7 многозадачку потоковую. ядро заняло всего несколько килобайт.А для АРМ7 куда как более жирный, чем для Z80 получается. В ядро вошли - переключатель задач, менеджер памяти (куча), рудиментарная файловая система (для обращения к устройствам), куча сервисных функций.
    Ассемблер использовал только для запуска процессора (расставить все стеки, запустить тактовый генератор) - и всё.

  11. #40

    Регистрация
    16.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,082
    Записей в дневнике
    11
    Спасибо Благодарностей отдано 
    173
    Спасибо Благодарностей получено 
    493
    Поблагодарили
    343 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SfS Посмотреть сообщение
    Проект лучше делать на С, а потом критические места - переписывать на асме.
    плюс мильон
    к тому же разработка планируется совместной
    читать чужой код не нравится никому, но взглянув на код на си можно хотя бы сразу понять, что он делает - по именам переменных, названиям функций...
    а вот чтобы понять, что делает ассемблерная "простыня" придется потратить уйму времени
    уж не говорю о том, что над сишным кодом можно написать небольшой win32|POSIX-враппер и отлаживать многие вещи прямо на PC, без эмулятора
    Граф Дракула наш кумир, патамушта он вомпир!
    VKINK 9 : BORDER NOT PI YTINK 9 Channel

Страница 4 из 20 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  2. Пишем свою ОС. Теория
    от Zet9 в разделе ZX Концепции
    Ответов: 280
    Последнее: 27.06.2012, 15:27
  3. Я ищу свою дему
    от AAA в разделе Демо
    Ответов: 4
    Последнее: 04.05.2005, 22:59
  4. Ищу свою gfx работу!!!
    от invador в разделе Игры
    Ответов: 7
    Последнее: 02.02.2005, 12:54

Ваши права

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