Coverage for MC6809/components/MC6809data/CPU6809csv_export.py: 100%
0 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# """
2# 6809 instruction set data
3# ~~~~~~~~~~~~~~~~~~~~~~~~~
4#
5# data from:
6# * http://www.maddes.net/m6809pm/sections.htm#sec4_4
7# * http://www.burgins.com/m6809.html
8# * http://www.maddes.net/m6809pm/appendix_a.htm#appA
9#
10# :copyleft: 2013 by Jens Diemer
11# :license: GNU GPL v3 or above, see LICENSE for more details.
12# """
13#
14# from __future__ import absolute_import, division, print_function
15#
16#
17# import pprint
18# import sys
19#
20# from .MC6809_data_raw import INSTRUCTION_INFO, OP_DATA
21# from MC6809data.MC6809_data_raw import MEM_ACCESS_BYTE, MEM_ACCESS_WORD
22#
23#
24# keys = list(OP_DATA[0].keys())
25# keys.insert(3, "opcode_hex")
26# keys.sort()
27#
28# FROM_INSTRUCTION_INFO = ['HNZVC', 'instr_desc']
29#
30#
31# MEM_ACCESS_MAP = {
32# MEM_ACCESS_BYTE: "byte",
33# MEM_ACCESS_WORD: "word",
34# }
35#
36#
37# import csv
38# with open('CPU6809_opcodes.csv', 'wb') as csvfile:
39# w = csv.writer(csvfile,
40# delimiter='\t',
41# quotechar='|', quoting=csv.QUOTE_MINIMAL
42# )
43#
44# w.writerow(keys + FROM_INSTRUCTION_INFO)
45#
46# for op_data in OP_DATA:
47# row = []
48#
49# op_data["opcode_hex"] = hex(op_data["opcode"])
50#
51# for key in keys:
52# data = op_data.get(key, "-")
53# if key == "mem_access" and data != "-":
54# data = MEM_ACCESS_MAP[data]
55#
56# if isinstance(data, str):
57# data = data.replace("\t", " ")
58# row.append(data)
59#
60# instr_info_key = op_data["instr_info_key"]
61# instr_info = INSTRUCTION_INFO[instr_info_key]
62# for key in FROM_INSTRUCTION_INFO:
63# row.append(
64# instr_info.get(key, "").replace("\n", " ").replace("\t", " ")
65# )
66#
67# print(row)
68# w.writerow(row)
69#
70# print(" -- END -- ")