import pytest @pytest.fixture def basic_machine_definition(): return ( { "registers": 20 , "memory": 100 , "program_memory": 500 } , [ { "mnemonic": "ldi" , "args": ["register", "direct_input"] } , { "mnemonic": "ld" , "args": ["register", "register"] } , { "mnemonic": "st" , "args": ["register", "register"] } , { "mnemonic": "inc" , "args": ["register"] } , { "mnemonic": "dec" , "args": ["register"] } , { "mnemonic": "add" , "args": ["register", "register"] } , { "mnemonic": "sub" , "args": ["register", "register"] } , { "mnemonic": "mul" , "args": ["register", "register"] } , { "mnemonic": "div" , "args": ["register", "register"] } , { "mnemonic": "gt" , "args": ["register"] } , { "mnemonic": "ge" , "args": ["register"] } , { "mnemonic": "lt" , "args": ["register"] } , { "mnemonic": "le" , "args": ["register"] } , { "mnemonic": "eq" , "args": ["register"] } , { "mnemonic": "not" , "args": [] } , { "mnemonic": "jmp" , "args": ["register"] } , { "mnemonic": "call" , "args": ["register"] } , { "mnemonic": "ret" , "args": [] } , { "mnemonic": "stop" , "args": [] } , { "mnemonic": "cl" , "args": [] } , { "mnemonic": "cjmp" , "args": ["register"] } , { "mnemonic": "ccall" , "args": ["register"] } ] )