I don't think there is any way to not evaluate a literal comma in an identifier. Or at least I couldn't find one. Other than the method above, here is another way:
//set -u %c , | echo -a $asc(%c)
Or you could make a custom identifier:
alias getasc echo -a $asc($1)
/getasc ,
/getasc (
-genius_at_work