For monochrome calculators the tools have historically been based on the Zilog assembler or TASM for DOS, but these days you're best off using either
Brass or Spasm (see below) since they're both capable of directly emitting calculator file formats (not requiring any other tool to convert a .bin to .8xp, for instance).
For eZ80
spasm-ng adds eZ80 support to Spasm and otherwise doesn't change much. The toolchain people for the CE seem to prefer
fasmg and have assorted macros related to functionality that's important to the CE
in the toolchain, but I'm unfamiliar with any of that.
For building an OS you probably need a few extra tools to build an OS file. For the monochrome calculators there's
packxxu, but I'm not sure if the CE uses a different OS file format or it would need some other tool. If you're just testing in an emulator, it's relatively easy to combine flat binaries with boot code to make a ROM image (but again, I'm not familiar with the CE family details).
If you wanted to sign an OS for monochrome calculators (the signing key for the eZ80 models is unlikely to ever be cracked,
unlike the monochrome ones), you could do that with
Rabbitsign and
04.key (or there's somebody's
newer fork of Rabbitsign that appears to (attempt to) add some CE support, but I haven't looked into the details of that.