[bench] vm: now working correct
[calu.git] / 8_benchs / src / vm.s
index 077a5f3a5b220dec41b7a48caa44740c8903a3e6..bcb2a03a7ab1c1c7e479ad9717ff95e39e05b2f4 100644 (file)
@@ -175,29 +175,31 @@ vm_dup:
 ;73
 vm_imm:
        ;load new high byte
-       ldb r6, 4(r2)
+       ldb r6, 4(r4)
        ;shift high byte
        lls r6, r6, 8
        ;load 2nd byte
-       ldb r7, 3(r2)
+       ldb r7, 3(r4)
        ;add to high byte
        add r6, r6, r7
        ;shift
        lls r6, r6, 8
        ;load
-       ldb r7, 2(r2)
+       ldb r7, 2(r4)
        ;add
        add r6, r6, r7
        ;shift
        lls r6, r6, 8
        ;load
-       ldb r7, 1(r2)
+       ldb r7, 1(r4)
        ;add
        add r6, r6, r7
        ;store result to stack
        stw r6, 0(r3)
        ;pc+4
        addi r2, r2, 4
+       ;increment sp
+       addi r3, r3, 4
        br+ vm_loop
 
 ;case J