Главная »
Спектрум » Деление 16 битного числа
Оглавление
§ Краткое описание
Эта процедура достаточно универсальна и позволяет без проблем делить целочисленные 16 битные значения с остатком.
§ Программный код
Делимое DE, делитель BC; DE – ответ, HL – остаток.
div16u: push af
push de
exx
pop hl
exx
ld hl, $0000
ld d, h
ld e, l
ld a, 16
div16ul: push af
exx
add hl, hl
exx
adc hl, hl
sla e
rl d
inc e
xor a
sbc hl, bc
jr nc, div16us
add hl, bc
dec e
div16us: pop af
dec a
jr nz, div16ul
pop af
ret