changeset 3054:22ddd48b4ec2

level1 krn: Fix scheduler bug that only affected 6309 The original 6809 binary was correct, but it was disassembled and interpreted wrongly, so that reassembly went wrong on 6309.
author Tormod Volden <debian.tormod@gmail.com>
date Sun, 25 Jan 2015 22:36:02 +0100
parents 22122ff8bef3
children 35db67ca1302
files level1/modules/kernel/krn.asm
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/level1/modules/kernel/krn.asm	Sun Jan 25 22:36:01 2015 +0100
+++ b/level1/modules/kernel/krn.asm	Sun Jan 25 22:36:02 2015 +0100
@@ -353,7 +353,7 @@
          ldu   P$SP,x                  else get process stack pointer
          ldd   R$X,u                   get the value of the process X reg
          subd  #$0001                  subtract one from it
-         std   P$SP,u                  and store it
+         std   R$X,u                   and store it back
          bne   L01FD                   branch if not zero (still will sleep)
 L01E7    ldu   P$Queue,x               get process current queue pointer
          bsr   L021A