memory

Hello good night
can someone explain to me what is the difference between program storage space and dynamic memory during compilation

program storage space: memory in some fashion that holds your program when power is removed and from where the cpu finds out what to next do.

and

dynamic memory used as a scratch pad for doing the actual work