Вообще то тема уже несколько раз открывалась, посмотреть можно было повнимательнее ;-)
А посчёт этюдов есть такие вот зарисовки.
Есть такие замечательные команды как 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 ну никак не поднимется с теми же преимуществами.
Кстати аналогичные вещи можно делать с HL используя те же команды.
Или задача: в зависимости от значения флага CY заполнить аккумулятор либо значением 23 либо 75:
sbc a,a
and 75-23
add a,23
В итоге - если включен флаг CY то в аккумуляторе будет 75, иначе будет 23.