mirror of
https://github.com/cc65/cc65.git
synced 2024-11-05 08:05:51 +00:00
48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
Assembler Testcases
|
|
===================
|
|
|
|
Opcode Tests:
|
|
-------------
|
|
|
|
These testcases are inspired by the ones now removed from test/assembler.
|
|
The main purpose is to have each possible opcode generated at least once,
|
|
either by an Assembly instruction or a ".byte"-placeholder. Typically
|
|
generated by disassembling a binary dump that contains data in the form
|
|
of the pattern that each opcode is stated once in order followed by easy
|
|
to recognise:
|
|
|
|
00 00 EA 00
|
|
01 00 EA 00
|
|
02 00 EA 00
|
|
[...]
|
|
fe 00 EA 00
|
|
ff 00 EA 00
|
|
|
|
The disassembly is then put in a better readable form by replacing the
|
|
leftover dummy opcode parameters with something more recognizable.
|
|
|
|
The testcases for 6502, 6502x, 65sc02, 65c02, 4510, and huc6280 have been
|
|
put together by Sven Oliver ("SvOlli") Moll, as well as a template for the
|
|
m740 instructions set. Later 6502dtv support was also added.
|
|
|
|
Still to do is to find a way to implement an opcode testcase for the 65816
|
|
processor, since it's capable of executing instructions with an 8-bit and
|
|
a 16-bit operator alike, distinguished by only one processor flag.
|
|
|
|
|
|
CPU Detect Tests
|
|
----------------
|
|
|
|
These tests all assemble the same file "cpudetect.s" which contains several
|
|
conditionals for several CPUs, only using every option known to the "--cpu"
|
|
command-line switch of ca65/cl65.
|
|
|
|
|
|
Reference (".ref") Files
|
|
------------------------
|
|
|
|
Some hints about creating new files:
|
|
Make an empty file with the CPU's name prepended to "-cpudetect.ref". Run the
|
|
tests; one of them will fail due to a mismatch. Review the output of the
|
|
".lst" file pedantically, then copy the ".bin" over the empty ".ref" file.
|