You can either program on the calculator or on the computer. On the calculator, like AgentOrange said, you need knowledge of hexadecimal. To make an assembly program on-calc, you make a new program like this:
:AsmPrgm EF4045C9;Clears the screen. AsmPrgm can be found on the catalog menu
You'll need an assembler if you program on the computer. TASM is the most popular; I use Brass myself.
Lastly, an emulator is optional, for when your code isn't perfect, and don't like RAM clearing your calc.
See more at z80-heaven.
Xeda is our local assembly expert. If you have more specific questions, especially regarding hexcode, you can ask her.