Commit Graph

158 Commits

Author SHA1 Message Date
Kugel Fuhr
4c81eacefe Added -d/--debug and -m/--multi-pass switches to the disassembler. The latter
will make the disassembler run multiple preparation passes to find all
addresses where labels must be placed. Without -m some label addresses are
found in the final pass, where the disassembler cannot make use of them.
2025-06-23 14:50:40 +02:00
Kugel Fuhr
96bb1e4336 Fix coding style. 2025-06-23 14:02:56 +02:00
Kugel Fuhr
49713f73e0 Output relative branch targets as "*-30" instead of "* + (-30)". 2025-06-23 14:01:29 +02:00
Kugel Fuhr
7d231d60a6 Minor corrections after looking at the diff. 2025-06-22 20:36:26 +02:00
Kugel Fuhr
b9a703749c Replace all tables by hash tables. This allows to remove the ugly special
casing of "long addresses" and prepares the code base for use with the full
address range of the 65816.
Use fixed size data types for addresses and target data words of known size.
Many other minor improvements.
2025-06-22 20:36:26 +02:00
mrdudz
233c784c03 fix aslq in the disassembler 2025-06-22 01:16:03 +02:00
mrdudz
2ae30b5b50 cleanup 2025-06-22 01:15:40 +02:00
mrdudz
4a11fa791a more codestyle 2025-06-21 22:33:43 +02:00
mrdudz
6b554362a5 codestyle/comment 2025-06-21 22:23:19 +02:00
mrdudz
5e414edb50 are we more pedantic than local make? 2025-06-21 20:47:57 +02:00
mrdudz
2244a5ab0a include header :) 2025-06-21 20:44:37 +02:00
mrdudz
3321910848 implement 45GS02 compound instrictions in the disassembler 2025-06-21 20:37:31 +02:00
Bob Andrews
d333627081 Merge pull request #2707 from mrdudz/m740
m740 Support
2025-06-20 19:39:32 +02:00
mrdudz
02e79d35d7 no need to fix the assembler, but making da65 produce the same mnemonics ans ca65 uses seems like a good idea :) 2025-06-19 21:44:14 +02:00
Kugel Fuhr
8d407c7b17 Fix #2649. When generating labels for "skip" sections, GetGranularity() is
called which wouldn't handle this type.
2025-06-18 21:54:19 +02:00
mrdudz
00de49a46d codestyle 2025-06-18 02:43:40 +02:00
mrdudz
157ddf2c5b codestyle 2025-06-18 02:41:15 +02:00
mrdudz
5e4f811ddf remove commented out code 2025-06-17 22:52:42 +02:00
mrdudz
20e7c54fa3 more m740 fixes, makes the regression test work 2025-06-16 20:32:54 +02:00
mrdudz
2184ba80c7 make <bit> part of the instruction, like in the huc6280 2025-06-16 17:39:23 +02:00
mrdudz
7b12962eec fix m740, survives disasm/asm roundtrip now, still needs some work though 2025-06-16 01:17:36 +02:00
mrdudz
5be4c4697c original patch 2025-06-15 18:25:01 +02:00
Max
8fbb4c39c4 Fixed a typo in Granularity 2025-05-13 09:14:03 +02:00
Lauri Kasanen
56a414593a Teach da65 about table units 2022-12-30 17:25:47 +02:00
Lauri Kasanen
3ea999f034 Correct mvn, mvp, pei 2022-11-03 08:17:51 +02:00
Lauri Kasanen
b90bf258e2 Implement far override 2022-11-03 08:17:51 +02:00
Lauri Kasanen
db351b4228 Output remaining long labels 2022-11-03 08:17:51 +02:00
Lauri Kasanen
65907b1f10 Output MX states 2022-11-03 08:17:51 +02:00
Lauri Kasanen
4b04f81d37 Fix jsl length 2022-11-03 08:17:51 +02:00
Lauri Kasanen
1294c1c253 Implement changing-size opcodes 2022-11-03 08:17:51 +02:00
Lauri Kasanen
e8ee8435e9 Add addrMode to RANGE 2022-11-03 08:16:45 +02:00
Lauri Kasanen
89fc5e30c4 Remove unused and conflicting value 2022-11-03 08:15:48 +02:00
Lauri Kasanen
ea924ededd Teach attrtab, labels and comments about long addresses 2022-11-03 08:15:48 +02:00
Lauri Kasanen
67384a29b7 Start on 65816 2022-11-03 08:08:38 +02:00
Lauri Kasanen
c95c9c2749 Allow specifying range end as a size 2022-10-27 18:20:37 +03:00
mrdudz
3c1bb85b8e remove dangling spaces 2022-04-17 16:07:09 +02:00
Andrea Odetti
bcc670ee36 Standard formatting of error messages.
https://www.gnu.org/prep/standards/html_node/Errors.html

Issue: https://github.com/cc65/cc65/issues/1494
2021-05-11 17:41:59 +02:00
Oliver Schmidt
5d84a4ba13 Removed non-ASCII chars. 2021-04-19 16:06:10 +02:00
Zsolt Branyiczky
527500cedc instruction table contained wrong parameters at SIR opcode 2020-11-19 22:02:07 +01:00
Zsolt Branyiczky
2d7777b604 Instruction table is synchronized with the c65's one 2020-11-15 16:35:55 +01:00
Zsolt Branyiczky
b33b053307 add c64dtv support 2020-11-15 16:35:55 +01:00
Greg King
44c82eb1c3 Made da65 disassemble branch instructions with relative address expression operands if there's no label. 2020-07-21 18:43:32 -04:00
Greg King
2fc24847ac Fixed an error message printer.
The disassembler can be built and won't crash if it sees duplicate labels, and one of them is an unnamed label.
2020-03-11 18:07:08 -04:00
Greg King
a6b04f6e97 Changed most "backticks" (grave accents) into apostrophes.
Quotations that are embraced by tick marks now look better, in most fonts.
2019-01-05 14:57:12 -05:00
Greg King
cd6e167982 Fixed a duplicate-label test.
Don't call strcmp() if either argument is NULL.
2019-01-04 02:29:17 -05:00
Egor
0149de4da7 da65: properly scan empty strings
Previously, doing something like `LABEL { NAME ""; ADDR $1000; };` would
result in $1000 being labeled as NAME: instead of being unnamed.
2018-10-06 21:55:42 +03:00
AIDA Shinra
31fdec2e2e Style fix 2018-06-25 23:50:46 +09:00
AIDA Shinra
fd67284b4d Followed the discussions in the Pull request #682.
* Fixed a misspelling
* Fixed styles
* Added sample codes
2018-06-14 02:02:16 +09:00
AIDA Shinra
2b25329423 Support for preprocessing info file via cpp or m4. 2018-06-14 02:02:16 +09:00
AIDA Shinra
75c4972021 Style and alignment fixes. 2018-06-13 21:24:34 +09:00