2016-09-06 12:54:21 +00:00
|
|
|
|
|
|
|
Assembler Testcases
|
|
|
|
===================
|
|
|
|
|
2016-09-07 17:21:24 +00:00
|
|
|
Opcode Tests:
|
|
|
|
-------------
|
|
|
|
|
2016-09-06 12:54:21 +00:00
|
|
|
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.
|
|
|
|
|
2016-09-07 17:21:24 +00:00
|
|
|
Still to do is to find a way to implement an opcode testcase for the 65816
|
2016-09-06 12:54:21 +00:00
|
|
|
processor, since it's capable of executing instructions with an 8-bit and
|
|
|
|
a 16-bit operator alike, only distinguished by one processor flag.
|
|
|
|
|
2016-09-07 17:21:24 +00:00
|
|
|
|
|
|
|
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"
|
|
|
|
commandline switch of ca65/cl65.
|
|
|
|
|
|
|
|
|
|
|
|
Reference (".ref") Files
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
A hint on creating these files: when running the test, it will fail due to
|
|
|
|
the missing ".ref" file. Review the output of the ".lst" very pedantic, then
|
|
|
|
copy the ".bin" to the ".ref" file.
|
|
|
|
|