···4242Mul8::
4343 ld hl, 0
4444 ld b, 8
4545-Mul8Loop:
4545+.Loop:
4646 rrca
4747- jp nc, Mul8Skip
4747+ jp nc, Mul8.Skip
4848 add hl, de
4949-Mul8Skip:
4949+.Skip:
5050 sla e
5151 rl d
5252- STOP
5252+ jp nz, Mul8.Loop
5353+ ret
5454+5555+; A = HL % C
5656+Mod8::
5757+ ld b, 16
5858+.Loop
5959+ xor a
6060+ add hl, hl
6161+ rla
6262+ cp c
6363+ jp c, Mod8.Exit
6464+ inc l
6565+ sub c
6666+ jr nz, Mod8.Loop
6767+.Exit
6868+ ret
6969+7070+; from = b
7171+; to = c
7272+; ret = b
7373+rand_range::
7474+ push de
7575+7676+ call rand
7777+ push hl
7878+ push af
7979+ ld l, b
8080+ ld h, 0
8181+ add c, 1
8282+ add c, b
8383+ call Mod8
8484+ ld e, a
8585+ pop af
8686+ pop hl
8787+ add e, b
8888+ ld b, e
8989+ pop de
5390 ret