Answer
the program is self-terminating.
Work Step by Step
The program halts only if the initial value of X ends in a 1.
Because the ASCII representation of a semicolon is 00111011, the encoded version of the program must end in a 1.
Therefore the program is self-terminating.