Gen. nahodnych cisel

Pavel Gazda Pavel.Gazda
Středa Březen 17 12:11:02 CET 2004


Ahoj,

nevim, v jakem je to stavu, ale tak nejak jsem to chtel kdysi pouzit:

(
  generuje pseudonahodnou posloupnost,
  postup by mel vychazet z Turbo pascalu, upraven pro DALLAS (x51)
  randinit se provadi pouze jednou, protoze po inicializaci stejnym cislem
nasleduje
  stejna posloupnost
 )


;************************

randinit:
       MOV   RandSave,#0
       MOV   RandSave+1,TL0
       RET

;************************

CRANDOM    EQU   8405H

random:
       MOV   d+6,RandSave
       MOV   d+7,RandSave+1
       MOV   m+6,#HIGH(CRANDOM)
       MOV   m+7,#LOW(CRANDOM)

       MOV   AdrX,#m+7
       MOV   AdrY,#d+7
       MOV   SizeX,#2
       MOV   SizeY,#2

       CALL  NasXYdoX         ; m4,..,m7


       MOV   m+2,RandSave
       MOV   m+3,RandSave+1

       MOV   R2,#3
rand1:
       CLR   C
       MOV   A,m+3
       RLC   A
       MOV   m+3,A
       MOV   A,m+2
       RLC   A
       MOV   m+2,A
       DJNZ  R2,rand1

       MOV   A,m+2
       ADD   A,m+3
       MOV   m+2,A

       MOV   A,m+3
       ADD   A,m+5
       MOV   m+5,A
       MOV   A,m+2
       ADDC  A,m+4
       MOV   m+4,A

       MOV   A,m+7
       ADD   A,#1
       MOV   m+7,A
       MOV   A,m+6
       ADDC  A,#0
       MOV   m+6,A
       MOV   A,m+5
       ADDC  A,#0
       MOV   m+5,A
       MOV   A,m+4
       ADDC  A,#0
       MOV   m+4,A

       MOV   RandSave,m+4
       MOV   RandSave+1,m+5

       RET

;**************************








Další informace o konferenci Hw-list