User Tag List

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

Тема: SwapSet

Древовидный режим

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

    Регистрация
    31.03.2005
    Адрес
    Новосибирская область
    Сообщений
    128
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от LW Посмотреть сообщение
    Очень интересно, но нифика непонятно...
    Зачем заменять push/pop или ld (nn),reg/ld reg,(nn) на процедуру, которая занимает место это раз, и тратит туеву кучу тактов это два?
    Да еще портит индексный регистр...

    Даже если предположить некую "многозадачность", то тут уж сохранять все регистры, включая индексные и SP, назначать для каждой задачи свой стек, да до кучи сохранять общие для задач переменные.
    А такой способ... Ну такое себе. Трата памяти и тактов.
    В том то и дело, что мне это тоже интересно) Когда ты используешь push/pop ты занял стек и тебе нужно помнить,что ты туда положил, чтобы потом вынуть. В данном методе стека как такового нет. Регистры хранятся в кусочках памяти по 8 байт и к ним всегда можно вернуться переключением, а вот это самое интересное. Если не думать о стеке, то в памяти можно хранить неограниченное количество контекстов к которым можно возвращаться простым переключением по имени сета регистров.
    Для чего это использовать? Для всего что подскажет фантазия.
    здесь не спроста использованы инструкции push и pop для сохранения и восстановления регистров они короче по тактам чем прямое сохранение/восстановление из памяти. (10-11 против 16-20) а индексный регистр задействован для чистоты чтобы сохранялся основной набор. и это не push/pop это именно swap более медленный аналог exx, ex af,af'. его единственное преимущество неограниченные наборы основных регистров, которые можно выбирать в любой момент.

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

    Цитата Сообщение от LW Посмотреть сообщение
    Видать большие проекты не писали? Когда идет гонка за каджым байтом/тактом, а зачастую и за тем, и за другим одновременно?
    писали. а сейчас просто экспериментирую. в этом и есть косность мышления когда ты себя начинаешь ограничивать, устанавливать правила при написании кода. это не дает мыслить свободно и твой код становится, как ни грустно, типичным ((
    Последний раз редактировалось jim; 16.09.2025 в 00:24.
    Like a bright light on the ХORIZON
    Shining so bright, he'll get you flying

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

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

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

Ваши права

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