Coverage for MC6809/components/MC6809data/MC6809_data_utils.py: 100%
15 statements
« prev ^ index » next coverage.py v7.2.1, created at 2023-03-06 19:50 +0100
« prev ^ index » next coverage.py v7.2.1, created at 2023-03-06 19:50 +0100
1#!/usr/bin/env python
3"""
4 6809 instruction set data
5 ~~~~~~~~~~~~~~~~~~~~~~~~~
7 Generate a flat dict
9 :copyleft: 2014 by Jens Diemer
10 :license: GNU GPL v3 or above, see LICENSE for more details.
11"""
14from MC6809.components.MC6809data.MC6809_op_data import OP_DATA
17def get_flat_opdata(OP_DATA):
18 flat_opdata = {}
19 for instr_data in OP_DATA.values():
20 for mnemonic, mnemonic_data in instr_data["mnemonic"].items():
21 for op_code, op_data in mnemonic_data["ops"].items():
22 op_data["mnemonic"] = mnemonic
23 op_data["needs_ea"] = mnemonic_data["needs_ea"]
24 for key in ("read_from_memory", "write_to_memory", "register"):
25 op_data[key] = mnemonic_data[key]
26 flat_opdata[op_code] = op_data
27 return flat_opdata
30MC6809OP_DATA_DICT = get_flat_opdata(OP_DATA)
32del OP_DATA
34if __name__ == '__main__':
35 import pprint
37 pprint.pprint(MC6809OP_DATA_DICT)