Also after checking my code, it won't work... MPASM IF ... ENDIF don't work like that... sorry.
Also after checking my code, it won't work... MPASM IF ... ENDIF don't work like that... sorry.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Thanks Darrel,
I will change the structure of the macro to eliminate this problem, but in the meantime, can you be a bit more specific about the labelling problem? I can't be content with a problem until I understand it!
And mister_e, I think your example would end up comparing the address of Dist_To_Print with 200, not the variable itself.... the macro assembly stage can't make decisions based on realtime variables![]()
The following
will compile something like thisCode:IF A<20 THEN A=0
It call CMPGE?BCL =>Compare Greater/Equal a Byte Against a constant and jump to L00001 if FalseCode:CMPGE?BCL _A, 014h, L00001 MOVE?CB 000h, _A LABEL?L L00001
As previously said, when you call a macro it duplicate the whole code. Something like
You have two L00001 generated and unfortunately we/you have no control on that.Code:CMPGE?BCL _A, 014h, L00001 MOVE?CB 000h, _A LABEL?L L00001 '/////////////////// blah blah blah here \\\\\\\\\\\\\\\\\\\\\\\\\\\\ CMPGE?BCL _A, 014h, L00001 MOVE?CB 000h, _A LABEL?L L00001
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Bookmarks