I'm using fasm to compile some machine-generated code, and some of my identifiers are longer than 255 characters. I've had a first go through the source code but it seems like this limit is embedded in the logic all over the place. The error I get, specifically, is this one, in PREPROCE.INC
convert_symbol:
lods byte [esi]
stos byte [edi]
xlat byte [ebx]
or al,al
loopnzd convert_symbol
neg ecx
cmp ecx,255
ja name_too_long
dec edi
mov ebx,edi
sub ebx,ecx
mov byte [ebx-1],cl
I think probably I have to change that last line it to something like:
But where are all the repercussions of that change? All over the place, it seems. Any suggestions on how to make this easy?