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

1#!/usr/bin/env python 

2 

3""" 

4 6809 instruction set data 

5 ~~~~~~~~~~~~~~~~~~~~~~~~~ 

6 

7 Generate a flat dict 

8 

9 :copyleft: 2014 by Jens Diemer 

10 :license: GNU GPL v3 or above, see LICENSE for more details. 

11""" 

12 

13 

14from MC6809.components.MC6809data.MC6809_op_data import OP_DATA 

15 

16 

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 

28 

29 

30MC6809OP_DATA_DICT = get_flat_opdata(OP_DATA) 

31 

32del OP_DATA 

33 

34if __name__ == '__main__': 

35 import pprint 

36 

37 pprint.pprint(MC6809OP_DATA_DICT)