# JavaScript (ES6), 61 bytes

Expects a list of 2-character hexadecimal strings.

<!-- language-all: lang-javascript -->

    a=>a.map(s=>(g=k=>k&8?'':g(-~k)+" X"['0x'+s>>k&1])``).join`
    `

[Try it online!][TIO-l8oqunmd]

[JavaScript (Node.js)]: https://nodejs.org
[TIO-l8oqunmd]: https://tio.run/##y0osSyxOLsosKNHNy09J/Z9m@z/R1i5RLzexQKPY1k4j3Tbb1i5bzcJeXd0qXUO3LltTW0khQila3aBCXbvYDihlGKuZkKCpl5WfmZfAlfA/OT@vOD8nVS8nP10jTSNayc1NSUdBycIQRJqYg0hLS6VYTc3/AA "JavaScript (Node.js) – Try It Online"