1
0
mirror of https://github.com/cc65/cc65.git synced 2024-11-18 00:07:21 +00:00
cc65/test/asm
Zsolt Branyiczky 032b4e3979 Fixed typo
2020-11-19 22:02:07 +01:00
..
65c02-cpudetect.ref
65c02-opcodes.ref
65c02-opcodes.s
65sc02-cpudetect.ref
65sc02-opcodes.ref
65sc02-opcodes.s
4510-cpudetect.ref
4510-opcodes.ref
4510-opcodes.s
6502-cpudetect.ref
6502-opcodes.ref
6502-opcodes.s
6502dtv-cpudetect.ref added 6502dtv opdoces testcases and corrected cpudetect 2020-11-19 22:02:07 +01:00
6502dtv-opcodes.ref added 6502dtv opdoces testcases and corrected cpudetect 2020-11-19 22:02:07 +01:00
6502dtv-opcodes.s added 6502dtv opdoces testcases and corrected cpudetect 2020-11-19 22:02:07 +01:00
6502x-cpudetect.ref
6502x-opcodes.ref
6502x-opcodes.s
65816-cpudetect.ref
cpudetect.s Fixed typo 2020-11-19 22:02:07 +01:00
huc6280-cpudetect.ref
huc6280-opcodes.ref
huc6280-opcodes.s
m740-opcodes.s
Makefile Refined the hints about making new test reference files. 2020-11-17 15:06:05 -05:00
paramcount.s move program from testcode/assembler to test/asm and remove testcode/assembler 2020-09-29 19:03:42 +02:00
readme.txt added 6502dtv opdoces testcases and corrected cpudetect 2020-11-19 22:02:07 +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. 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.