2018-03-16 08:19:50 +00:00
|
|
|
RANDRING_NEXT_DEF macro instance
|
2019-09-15 16:23:33 +00:00
|
|
|
; void pascal near randring_next8(void);
|
|
|
|
public RANDRING&instance&_NEXT8
|
|
|
|
randring&instance&_next8 proc near
|
2018-03-16 08:19:50 +00:00
|
|
|
mov bl, _randring_p
|
|
|
|
inc _randring_p
|
|
|
|
mov bh, 0
|
|
|
|
mov al, _randring[bx]
|
|
|
|
ret
|
2019-09-15 16:23:33 +00:00
|
|
|
randring&instance&_next8 endp
|
2018-03-16 08:19:50 +00:00
|
|
|
|
2019-09-15 16:23:33 +00:00
|
|
|
; void pascal near randring_next8_and(unsigned char mask);
|
|
|
|
public RANDRING&instance&_NEXT8_AND
|
|
|
|
randring&instance&_next8_and proc near
|
2018-03-16 08:19:50 +00:00
|
|
|
arg @@mask:byte
|
|
|
|
|
|
|
|
push bp
|
|
|
|
mov bp, sp
|
|
|
|
mov bl, _randring_p
|
|
|
|
inc _randring_p
|
|
|
|
mov bh, 0
|
|
|
|
mov al, _randring[bx]
|
|
|
|
and al, @@mask
|
|
|
|
pop bp
|
|
|
|
ret 2
|
2019-09-15 16:23:33 +00:00
|
|
|
randring&instance&_next8_and endp
|
2018-03-16 08:19:50 +00:00
|
|
|
|
2019-09-15 16:23:33 +00:00
|
|
|
; void pascal near randring_next16(void);
|
|
|
|
public RANDRING&instance&_NEXT16
|
|
|
|
randring&instance&_next16 proc near
|
2018-03-16 08:19:50 +00:00
|
|
|
mov bl, _randring_p
|
|
|
|
inc _randring_p
|
|
|
|
mov bh, 0
|
|
|
|
mov ax, word ptr _randring[bx]
|
|
|
|
ret
|
2019-09-15 16:23:33 +00:00
|
|
|
randring&instance&_next16 endp
|
2018-03-16 08:19:50 +00:00
|
|
|
endm
|