С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
А что за задача стоит?
Вот таким способом, без цикла, можно делать пропуск от 1 до 240 секторов:
Код:LD DE,[TR/SEC] LD A,[Skip Sectors 1-240] ADD A,E LD B,A AND #0F LD E,A LD A,B RRCA RRCA RRCA RRCA AND #0F ADD A,D LD D,A RET
Последний раз редактировалось drbars; 24.01.2022 в 21:20.
Как бы сделать покрасивше:
в зависимости от состояния флага C поставить или сбросить 0-й бит в памяти по адресу (HL)?
Аккумулятор свободен.
Код:if CY=1 set 0, (HL); else res 0, (hl);
Последний раз редактировалось 0xDEAD; 29.01.2022 в 22:45.
jerri, так а что rl (hl)? Мне (HL) двигать нельзя, биты 1-7 должны быть там, где они есть. Только нулевой бит нужно установить/сбросить.
Хорошо. А если не нулевой бит?
Код:if CY=1 set 5, (HL); else res 5, (hl);
Последний раз редактировалось 0xDEAD; 30.01.2022 в 00:26.
Последний раз редактировалось Spectramine; 30.01.2022 в 01:23.
Ну с переходом ясно. Думал, может есть какой-то красивый метод без перехода.
Красивые методы обычно ухудшают читабельность программы.
ld a, 0
vs
xor a
Что-то подобное я имел в виду под "красивым методом".
Пусть себе ухудшают. Место критическое к скорости.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)