Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dcinva instruction in the i960 disassembler is off by one #11378

Merged
merged 3 commits into from Jun 28, 2023

Conversation

DrItanium
Copy link
Contributor

The mnemonic table for the primary opcodes of the i960 instruction set (I consider REG format instructions to be composed of a primary and secondary opcode) was declaring dcinva as 0xAC when the i960 Hx Microprocessor Developer's manual states it is 0xAD (see page 6-45).

As an aside, I put a todo for the future to compose the tables with something like X-macros (or something like it) to make subtle errors like this one a thing of the past.

According to i960 Hx Microprocessor Developer's Manual page 6-45:

Opcode dcinva ADH MEM

Easy mistake to make given the design layout.
…ables less error prone to maintain and understand
@cuavas
Copy link
Member

cuavas commented Jun 28, 2023

The TODO comment seems unwarranted as we don’t seem to have a major problem with offsets. Even just tabulating the opcode definitions would make it more readable.

@cuavas cuavas merged commit 3b3b50f into mamedev:master Jun 28, 2023
2 of 5 checks passed
@DrItanium
Copy link
Contributor Author

DrItanium commented Jun 28, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants