X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Fc%CE%BBash.git;a=blobdiff_plain;f=HigherOrderCPU.hs;h=9b151d14c08b3dbf1ed516ba65dc7f5e98a18d84;hp=8e3f0da182f6d6db4a7d9d4372a25a4efa145e23;hb=30969fa41ee30295f00cf089f4ee4385bb709871;hpb=a37aac300ad93f0fd5edbed645655c2af2915002 diff --git a/HigherOrderCPU.hs b/HigherOrderCPU.hs index 8e3f0da..9b151d1 100644 --- a/HigherOrderCPU.hs +++ b/HigherOrderCPU.hs @@ -18,9 +18,9 @@ fu1 = fu (+) fu2 = fu (-) fu3 = fu (*) -data Opcode = Shift | Xor | Equal +data Opcode = ShiftL | Xor | Equal -multiop Shift = shift +multiop ShiftL = shiftL multiop Xor = xor multiop Equal = \a b -> if a == b then 1 else 0 @@ -40,16 +40,5 @@ cpu (State s) (x,opc,addrs) = (State s', out) (fu3 inputs (addrs!3)) +> empty))) out = last s - - - - - - --- Some minor details cpuState :: Vector D4 (Signed D16) cpuState = copy 0 - -const a b = a -xor = const -shift = const