1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-18 00:07:21 +00:00
cc65/test/asm
Oliver Schmidt c658acbf85 Avoid cl65 in tests.
cl65 creates intermediate files based on the source file name in the source file directory. Calling cl65 in parallel with the same source file causes those intermediate files to get overwritten.

Fixes #1080
2020-08-26 20:39:34 +02:00
..
65c02-cpudetect.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
65c02-opcodes.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
65c02-opcodes.s Shortened test subdir names. 2017-03-19 17:57:25 +01:00
65sc02-cpudetect.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
65sc02-opcodes.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
65sc02-opcodes.s Shortened test subdir names. 2017-03-19 17:57:25 +01:00
4510-cpudetect.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
4510-opcodes.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
4510-opcodes.s Shortened test subdir names. 2017-03-19 17:57:25 +01:00
6502-cpudetect.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
6502-opcodes.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
6502-opcodes.s Shortened test subdir names. 2017-03-19 17:57:25 +01:00
6502x-cpudetect.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
6502x-opcodes.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
6502x-opcodes.s Shortened test subdir names. 2017-03-19 17:57:25 +01:00
65816-cpudetect.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
cpudetect.s Shortened test subdir names. 2017-03-19 17:57:25 +01:00
huc6280-cpudetect.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
huc6280-opcodes.ref Shortened test subdir names. 2017-03-19 17:57:25 +01:00
huc6280-opcodes.s Shortened test subdir names. 2017-03-19 17:57:25 +01:00
m740-opcodes.s Shortened test subdir names. 2017-03-19 17:57:25 +01:00
Makefile Avoid cl65 in tests. 2020-08-26 20:39:34 +02:00
README Shortened test subdir names. 2017-03-19 17:57:25 +01:00

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.

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, only distinguished by 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"
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.