Подскажите, пожалуста, вот такое можно организовать без использования перехода (JR $+):
Т.е. Если DE>HL, то DE=HL.Код:ld de, число1 ld hl, число2 or a sbc hl,de jr nc,m1 ld de, число2 m1
Это только идеи на вскидку, вполне может я где-то и лажанулся, сильно не битьКод HTML:1: Можно оформить в виде подпрограммы. Тогда вызов CALL m1, и: m1 ld de, число1 ld hl, число2 or a sbc hl,de ret nc ld de, число2 ret 2: Или юзать самоизменяющийся код. ld de, число1 ld hl, число2 or a sbc hl,de sbc a,a and #EB; (#EB = ex de,hl) ld (m1),a ld hl, число2 m1 nop 3: Или такой изврат (вообще без привязки к адресу, но зато с предварительно рассчитанной разностью чисел 1 и 2) ld de, число1 ld hl, число2 or a sbc hl,de sbc hl,hl ld a,l and МЛАДШИЙ разряд выражения (число2-число1) ld l,a ld a,h and СТАРШИЙ разряд выражения (число2-число1) ld h,a add hl,de ex de,hl
Последний раз редактировалось Destr; 06.09.2011 в 02:10.
Используется для ограничения некоторого параметра (числа 1 и 2 могут быть некратными 256). Без перехода потому, что интересна сама возможность написания такого без ветвления (в общем что-то типа алгоритмической головоломки).
Спасибо. Там как раз подпрограмма. Если ничего не придумаю, буду делать как-то так.
Если кто то из этюдников скодит красивый эффект, киньте мне его в почту для демы.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)