==Problem 1==
You have this command:
Call TSCLoc
Which expands to CALL [4a5ae0] thanks to your defines.
Did you really want to call a pointer?
I assumed that you meant CALL 4a5ae0, so I replaced Call TSCLoc with CALL 4a5ae0.
If you really did mean to call the pointer [4a5ae0], just define CALL [4a5ae0]=data (whatever).
I haven't put in support for calling pointers yet.
==Problem 2==
This is one of your instructions:
cal 421AF0
You're missing a letter. "cal" will not be recognized as "call".
==Problem 3==
At the end of your <AE+ command, you have the incorrect label,
:END<AM+
Which should be :END<AE+
==Problem 4==
You have a lot of defines such as <AE+=2b45413c
You use these for CMPing the TSC commands, but these defines will cause problems
with your labels.
Notice that labels such as :END<AE+ will be replaced with :END2b45413c
I took the liberty of adding a curly brace to each of those defines by using Find/Replace.
So <AE+ is now {<AE+
And the CMP command is now: cmp dword [eax], {<AE+
Same for all the other commands.
===================
Okay, so this file should be compilable:
TSC asm