assembler: reworked structure to avoid label fuck up