MandAzur/src/julia.s

31 lines
693 B
ArmAsm
Raw Normal View History

2023-01-18 20:59:23 +01:00
/*
int julia(int32_t cr, int32_t ci, uint32_t t_squared, int steps, int32_t zr, int32_t zi);
(Pour moi : t_squared = (2 * 2) << 16, steps = 50)
Si renvoie 0 -> dans la fractale
Sinon renvoie un nombre entre 1...steps indiquant la "distance" (pour le dégradé)
*/
.global _julia
.text
/* Iteration of z = z²+c with threshold checks
@r4 Real part of c, cr
@r5 Imaginary part of c, ci
@r6 Squared threshold t²
@r7 Number of steps
If c is in the set, returns 0. Otherwise, returns the remaining number of
iterations to be checked before the process finised. */
2023-01-18 21:13:19 +01:00
2023-01-18 20:59:23 +01:00
_julia:
mov.l r8, @-r15
mov.l r9, @-r15
mov.l r10, @-r15
mov.l r11, @-r15
.loop:
.end:
2023-01-18 21:13:19 +01:00
2023-01-18 20:59:23 +01:00
rts
2023-01-18 21:13:19 +01:00
nop