3a_asm: FIX: get rid of 0-4 in displacement
authorBernhard Urban <lewurm@gmail.com>
Thu, 13 Jan 2011 23:28:10 +0000 (00:28 +0100)
committerBernhard Urban <lewurm@gmail.com>
Thu, 13 Jan 2011 23:28:10 +0000 (00:28 +0100)
... -.-

3a_asm/DT.hs
3a_asm/notes
progs/fibmmem.s

index 213a5c381763458c02ae842d707d1954d8b1a479..519415981a0347bc5eb3b2d699ab070a804652c8 100644 (file)
@@ -38,6 +38,7 @@ iLabel d@(aktadr,_) = do {i <- (iLit d); return $ ((i - aktadr)`div`4) .&. 0xfff
 
 iLit :: Dict -> Parser Word32
 iLit (_,d) = do
+       parseMySpaces
        val <- expr d;
        try (do {
                string "@hi"; parseMySpaces;
index e6bf0d0415e94edcd130d59b47dfddfa950732eb..93707b504b875c470bcb9ff3a1d52b99d69528d6 100644 (file)
@@ -1,5 +1,4 @@
 BUGS:
-- parsers2/eval: kann nur "0-1" und ned "-1" auswerten
 - parsers2/eval: aufloesen von zwei labels x und y funktioniert nicht, wenn x ein
   echter prefix von y ist (longest input match anyone?)
 - parsers2: bei instr branches addresse durch 4 rechnen (ldi vorm brr -> RAGE)
index 43ea3fb3a16303674664db9ff9cd3d540c9e127e..6ec5aa13fa423c07807818712a60bbe620f222f2 100644 (file)
@@ -63,7 +63,7 @@ fibmem:
        ;iterative call for n-1 element
        call+ fibmem
        ;load n-2 element
-       ldw r3, 0-4(r2)
+       ldw r3, -4(r2)
        ;add n-1 and n-2 element
        add r0, r3, r0
        ;increment address for n element