From a37393f9464c01468ad50e904d948924ebbbabb8 Mon Sep 17 00:00:00 2001 From: Simon David Hammond Date: Thu, 26 Jul 2018 15:52:31 -0600 Subject: [PATCH] Fix bug in Juno GUPs --- test/asm/gups.juno | 55 +++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/test/asm/gups.juno b/test/asm/gups.juno index 569b71f..8742d78 100644 --- a/test/asm/gups.juno +++ b/test/asm/gups.juno @@ -13,42 +13,41 @@ ADD r1 r7 r7 # ------------------------------------------------------- # Initialize the arrays used by GUPS in a loop # r5 is the counter register, ++r5 on each iteration -# r6 is address of valyes +# r6 is address of values # r7 is address of indices # ------------------------------------------------------- INITLOOP: -ADD r3 r5 r5 -ADD r4 r6 r6 -ADD r4 r7 r7 +MUL r5 r4 r13 +MUL r5 r4 r12 +ADD r6 r13 r13 +ADD r7 r12 r12 +GTZLOOP: RAND r8 -JGTZ r8 SKIPZERO -XOR r9 r9 r9 -SUB r9 r8 r8 -SKIPZERO: +JLTZ r8 GTZLOOP MOD r8 r2 r9 -AND r9 r14 r13 -SUB r9 r13 r9 -STORE r9 r6 -STORE r9 r7 +AND r9 r14 r15 +SUB r9 r15 r15 +MUL r15 r4 r11 +STORE r11 r13 +STORE r11 r12 SUB r2 r5 r15 +ADD r3 r5 r5 JGTZ r15 INITLOOP -# ------------------------------------------------------- -EXITINIT: XOR r5 r5 r5 -XOR r6 r6 r6 -XOR r7 r7 r7 -MUL r4 r2 r6 -ADD r1 r6 r6 -ADD r1 r7 r7 +XOR r12 r12 r12 +XOR r13 r13 r13 +XOR r11 r11 r11 +XOR r15 r15 r15 +# ------------------------------------------------------- GUPSLOOP: -XOR r8 r8 r8 -XOR r9 r9 r9 -LOAD r7 r8 -LOAD r8 r9 -XOR r9 r3 r9 -STORE r9 r8 +MUL r5 r4 r12 +ADD r12 r7 r12 +LOAD r12 r13 +ADD r13 r6 r11 +LOAD r11 r12 +XOR r12 r12 r12 +STORE r12 r11 +SUB r2 r5 r15 ADD r3 r5 r5 -ADD r4 r7 r7 -SUB r2 r5 r8 -JGTZ r8 GUPSLOOP +JGTZ r15 GUPSLOOP HALT