>save db 4 dup '$' are you setting up a variable that can only store 4 characters?
Kind of. It sets aside four bytes, initializes them to the $ character, and creates a label called "save" that refers to the memory address of the first byte. That's technically a variable in assembly, but it's important to know what's going on.

You could also do this to the same effect:
save:
db '$'
db '$'
db '$'
db '$'
Or this: