In addition to software tools I also have a few go-to sites and this sheet that I printed out so I can quickly check which instructions touch which flags and their available addressing modes. At the minimum it saves me trying to assemble and fail when uncertain but occasionally I see an addressing mode for an instruction that significantly cuts down the complexity of my code.
More detailed 6502 opcodes: 6502.org opcodes
Commodore 64 memory map: sta.c64.org