User Tag List

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

Тема: ЭТЮДЫ

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

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

    Регистрация
    18.07.2021
    Адрес
    г. Хмельницкий, Украина
    Сообщений
    105
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    33
    Поблагодарили
    25 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GriV Посмотреть сообщение
    Есть такие замечательные команды как adc и sbc - используют флаг CY

    Например типовая задача уменьшить значение аккумулятора не менее какого то (например 23).
    обычно делают:
    dec a
    cp 23
    jr nc,$+3
    inc a
    а можно вот так аккуратно:
    sub 23
    adc a,22
    работает много элегантнее и что очень важно имеет всегда одну и ту же длительность (что особенно интересно демописателям где каждый раз приходиться пересчитывать такты).
    Или обратная задача - увеличить значение но не более какого то (например 75)
    В этом случае делаем так:
    add a,-75
    sbc a,-1-75
    В этом случае выше 75 ну никак не поднимется с теми же преимуществами.
    Прошло всего-то 14 лет - а кто-то проверял, как это работает? Я проверил (понадобилось). Немного не так работает, как заявлено.

    Код:
    ld a, 23
    sub 23
    adc a, 22
    оставляет в А значение 22, хотя должно быть 23.
    То есть, формула должна быть:

    sub x+1
    adc a, x

    а не

    sub x
    adc a, x-1


    К этому:
    Код:
    add a,-75
    sbc a,-1-75
    претензий нет.
    Последний раз редактировалось 0xDEAD; 08.06.2022 в 19:33.

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

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

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

Похожие темы

  1. Этюды: как бы написать поизящнее.
    от AndTorp в разделе Программирование
    Ответов: 5
    Последнее: 17.03.2008, 00:43
  2. Ответов: 0
    Последнее: 18.08.2006, 22:40
  3. Этюды: печать шрифтом 5x5...
    от breeze в разделе Программирование
    Ответов: 12
    Последнее: 27.03.2005, 05:21

Метки этой темы

Ваши права

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