Hi, im trying to print a "$".
I tried using:
msj db "Hola", 36
msj db "Hola \$", '$'
msj db "Hola \\$", '$'

But none of them worked.. Help please

The "db" literally puts your characters into memory, there is no "escape" mechanism. You can't use that interrupt in the manner you are trying. It will even "print" unprintable characters, it is very literal.

You need a different interrupt. Just search for Ralf Brown's name: "Ralf Brown's Interrupt List" is a famous DOS reference.

mov al,'$'
int 0x29

That should do it. :)

msj db "Hola", 24h, '$'

24h being the ascii code for a dollar sign.