Код:
;A=range - число будет в границах от 0 до range-1
Random
	push af
	call rand_
	pop af
	ld c,a
	ld b,0
	ex de,hl
	call mod
	ld a,l
	ret

rand_
	LD      D,0
	LD      BC,(rnd)
	LD      H,C
	LD      L,#FD
	LD      A,B
	OR      A
	SBC     HL,BC
	SBC     A,D
	SBC     HL,BC
	SBC     A,D
	LD      E,A
	SBC     HL,DE
	JR      NC,r1
	INC     HL
r1	LD      (rnd),HL
	RET
rnd	DW      0
	
mod	LD      A,16
	LD      HL,0
m0	RL      E
	RL      D
	RL      L
	RL      H
	SBC     HL,BC
	JR      NC,m1
	ADD     HL,BC
m1	CCF
	DEC     A
	JR      NZ,m0
	RET