They are usually interchangeable but asla sounds more like an assuring or promising word. It's like certainly never or never ever. So it's more preferred in future or present tenses.
Hiç also means 'at all'.
I believe that "hiç refers to “nothing” while “asla” refers to “no time, never.” I would like a native speaker to check this though.
Nothing would normally translate to 'hiçbir şey' but when you use it as a noun you can translate it to 'hiç'.
Hiç! - Nothing!
Ben bir hiçim. - I am a nothing.
Ben bir hiç değilim. - I am not a nothing.
"Yarın veya asla!" Translation: Tomorrow or never!
"Tomorrow never dies." - James Bond. "Yarın hiç ölmez." - James Bond.
(Adverb) - never - hiç.