Closed spth closed 4 years ago
The 15 bit opcodes for those instructions are not listed anywhere till now.
Please assist.
I tried to use official IDE 0.84 to assemble the other commands (tried PMS133 and PMS134) but they produce an error.
However the instruction set does show 4 holes which would fit perfectly.
Should I try to create a test program and manually insert guessed instruction opcodes, write it to a real PMS133 and check how it works?
Guesses:
0x0300 : maybe XOR A,IO 0x0400 : maybe XOR A,IO
0x0800 : something with M (NMOV A,M / NMOV M,A / SWAP A,M / CEQSN M,A / CNEQSN M,A) 0x0900 : something with M (NMOV A,M / NMOV M,A / SWAP A,M / CEQSN M,A / CNEQSN M,A) 0x0A00 : something with M (NMOV A,M / NMOV M,A / SWAP A,M / CEQSN M,A / CNEQSN M,A) 0x0B00 : something with M (NMOV A,M / NMOV M,A / SWAP A,M / CEQSN M,A / CNEQSN M,A)
0x5800 : ???
Well,
NMOV A, M, NMOV M, A SWAP M
are the only ones mentioned in datasheets, but missing in the list. There may even still be space reserved for future additions.
Philipp
With fuzzing I found the 3 missing opcode. Also available on PFS173:
0x0800 : NMOV A, M (ZF) 0x0900 : NMOV M, A 0x0A00 : SWAP M
I will add them to the opcode list.
Thanks. I still wonder why these were omitted from PFS173 documentation. Maybe mark them as 'u' instead of '-' in the table.
Philipp
This issue can be closed. The missing instructions have been added to the instruction set tables some time ago: https://free-pdk.github.io/instruction-sets/PDK15
The following instructions in teh 15-bit instruction set do not have their opcodes documented in the wiki yet:
NMOV A, M NMOV M, A SWAP M XOR A, IO
These are available e.g. on the PMC133.
Philipp