Illegal use of register

A register name appeared in an expression where it can't be used. For
example,

X = 4 shl ax ;can't use register with SHL operator