Although ‘a’ gets the intended value (0x7aaabbbb80001111 == 8839083632648786193), I do not understand how the lui and ld instructions achieve this. I.e., what is the exact definition of %hi(.LC0), %lo(.LC0)(a5), .LC0, and .dword?
I’ve been thinking, during which step of the flow does the constant (0x7aaabbbb80001111 == 8839083632648786193) get written into data memory? So that ld can be used to initialize the variable.