| 
 
注册时间2004-8-29最后登录1970-1-1 
 | 
 
| holdrand equ 27h 
 srand:
 mov holdrand+03h,r7
 mov holdrand+02h,r6
 mov holdrand+01h,r5
 mov holdrand,r4
 ret
 
 rand:
 mov r7, #0fdh
 mov r6, #043h
 mov r5, #03h
 mov r4, #00h
 mov r3, holdrand+3
 mov r2, holdrand+2
 mov r1, holdrand+1
 mov r0, holdrand
 lcall ululmul
 mov a, r7
 add a, #0c3h
 mov r7, a
 mov a, r6
 addc a, #09eh
 mov r6, a
 mov a, r5
 addc a, #026h
 mov r5, a
 clr a
 addc a, r4
 mov r4, a
 mov holdrand+3, r7
 mov holdrand+2, r6
 mov holdrand+1, r5
 mov holdrand, a
 mov r0, #018h
 lcall ulshr
 ret
 
 
 
 ululmul:
 mov a, r0
 mov b, r7
 mul ab
 xch a, r4
 mov b, r3
 mul ab
 add a, r4
 mov r4, a
 mov a, r1
 mov b, r6
 mul ab
 add a, r4
 mov r4, a
 mov b, r2
 mov a, r5
 mul ab
 add a, r4
 mov r4, a
 mov a, r2
 mov b, r6
 mul ab
 xch a, r5
 mov r0, b
 mov b, r3
 mul ab
 add a, r5
 xch a, r4
 addc a, r0
 add a, b
 mov r5,a
 mov a, r1
 mov b, r7
 mul ab
 add a, r4
 xch a, r5
 addc a, b
 mov r4, a
 mov a, r3
 mov b, r6
 mul ab
 mov r6, a
 mov r1, b
 mov a, r3
 mov b, r7
 mul ab
 xch a, r7
 xch a, b
 add a, r6
 xch a, r5
 addc a, r1
 mov r6, a
 clr a
 addc a, r4
 mov r4, a
 mov a, r2
 mul ab
 add a, r5
 xch a, r6
 addc a, b
 mov r5, a
 clr a
 addc a, r4
 mov r4, a
 ret
 
 ulshr:
 mov a, r0
 jz ulshr_out
 ulshr_loop:
 mov a, r4
 clr c
 rrc a
 mov r4, a
 mov a, r5
 rrc a
 mov r5, a
 mov a, r6
 rrc a
 mov r6, a
 mov a, r7
 rrc a
 mov r7, a
 djnz r0, ulshr_loop
 ulshr_out:
 ret
 | 
 |