mul14: ld b,h ld c,l sra d\ rr e jr c,_ ld hl,0 mul14loop: rl c\ rl b sra d\ rr e jr nc,_ add hl,bc _ ld a,d or e jp nz,mul14loop ret ; input ; hl - dividend ; de - divisor ; output ; hl - quotient ; de - remainder div14: ld a,h ld c,l ld hl,0 ld b,16 div14loop: sl1 c rla adc hl,hl sbc hl,de jr nc,$+4 add hl,de dec c djnz div14loop ex de,hl ; get de the remainder ld h,a ld l,c add hl,hl\ add hl,hl ret ; input ; hl - upper bound ; ouput ; hl - answer 0<= hl < hl (old) random: push hl ld hl,(seed1) ld a,r ld d,a ld e,(hl) add hl,de add a,l xor h ld (seed1),hl ex de,hl strip_tag(de) res 7,d pop hl random_loop: sbc hl,de add hl,de jr c,random ex de,hl ret