102 lines
1.6 KiB
Python
102 lines
1.6 KiB
Python
|
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"]
|
||
|
}
|
||
|
]
|
||
|
)
|