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

User Tag List

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

Тема: Extended Instructions Set (EIS): MUL, DIV, ASH, ASHC

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

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

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,393
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    39 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Но в итоге по количеству команд то же самое получается? Или на одну короче?
    На два байта короче.
    Цитата Сообщение от Manwe Посмотреть сообщение
    Трюк с R2 выглядит непонятным - значение этого регистра ещё не определено, но уже используется.
    Да, при использовании в процедуре эмуляции эти команды надо поместить не там, где была команда CLR R3, а после MOV ARG2,R2. Пробовал на отдельной процедуре, поэтому пропустил этот момент.

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    Да, при использовании в процедуре эмуляции эти команды надо поместить не там, где была команда CLR R3, а после MOV ARG2,R2. Пробовал на отдельной процедуре, поэтому пропустил этот момент.
    И тогда получается еще надо добавить команду тестирования R2, в итоге 2 байта обратно. Т.е. при использовании в процедуре эмуляции вариант с inc и dec все же чуть лучше (по скорости). При использовании в отдельной процедуре умножения вариант с mov и xor чуть лучше.

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

    В делении можно чуть сократить операции со знаками.
    1. DEC R2 надо заменить на INC R2, как в первой проверке.
    2. MOV #240,DIV1 и MOV #5401,DIV1 можно убрать. Вместо MOV #5401,DIV1 надо добавить bis #100000,r2.
    3. После POP R0 теперь нужно проверить знак, который покажет, нужно ли поменять знак остатка.
    4. Потом asr r0 и во флаге C признак необходимости изменения знака частного.
    Пункты 3 и 4 можно поменять местами. Ну и заготовка для команды DIV1: NOP не нужна.

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

    Цитата Сообщение от ivagor Посмотреть сообщение
    Пункты 3 и 4 можно поменять местами.
    Но лучше не стоит, или придется добавить еще одну команду.

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

    Manwe(08.02.2020)

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

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

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

Похожие темы

  1. Ответов: 0
    Последнее: 29.08.2017, 14:06
  2. Sector II - Extended
    от Splinter в разделе Музыка
    Ответов: 7
    Последнее: 07.02.2014, 06:45
  3. EXTENDED MEMORY DETECTION
    от VELESOFT в разделе Память
    Ответов: 1
    Последнее: 04.04.2010, 22:50
  4. gfx extended :)
    от riskej в разделе Графика
    Ответов: 12
    Последнее: 06.08.2008, 17:58
  5. Fast 48x48 MUL | DIV
    от Sinus в разделе Программирование
    Ответов: 6
    Последнее: 05.07.2005, 17:00

Ваши права

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