The Errors
These are errors I have encountered using TASM
and the methods I used to correct them. When debugging a program,
look in the <progname>.1st file that should have
been outputted in the "TASMassembler" folder when you
assembled the program. This file is a log of TASM assembling your
program. If there was an error in your program, TASM will give
the error message again where it ocurred in your program. This
file is the key to debugging your programs.
Unused data in
MS byte of argument.
You tried to load a number value to a instead
of hl or there is an unidentified label in your program. If there
is an unidentified label in your program, this error will be
preceded with a "Label not found" error. So make sure
the label is there and check the spelling. If you loaded a number
value into a instead of hl, change it because hl is a 16 bit
register, so it will probably work.
unrecognized
instruction.
You probably mispelled one of the z80
instructions. Find the mispelled z80 instruction (Not ROM call,
this error does not apply to ROM calls) and correct it's spelling.
Label not found:
<LABEL>
Numerous
things could of happened to generate this error.
A. You mispelled a label
Solution - Fix Spelling
B. You mispelled a ROM call(s) Solution - Fix Spelling
C. You mispelled a ROM call(s) when defining them Solution - Fix
Spelling
D. You didn't include the label Solution - Include it!
That was easy to fix:)
Duplicate label.
I wonder
how you solve this one? Hmm... I know. Maybe you have two of the same
labels. Rename one of the labels something else.
Label value
misaligned.
Line up
the program a little bit better or fix the duplicate label error
if you got one.
tasm: source
file open error on <filename>
This means
either you spelled the name of the program you are assembling, or
TASM couldn't open an include file (If you used one). A good way
to fix this is to check the spelling of filenames where ever you
used them.
unrecognized
token.
It took me
2 days to fix this one! When it happened to me,
I mispelled a z80 instruction, Label, ROM call, or the macro that
calls the ROM call. So double check your spelling.
Maximum number
of args exceeded.
You put
too many arguments in a specified .db statement. Spread them out
into multiple .db statements.
unrecognized
argument.
You
probably put in an argument where one isn't accepted. Try loading
the value into a different register. Sorry I can't offer more
help on this error, it has never happened to me (yet).
Range of
relative branch exceeded.
Strange,
this one's never happened to me either. Well I found the solution
in James Matthew's ASMguru! He says "All that means is that
you loaded a jp statement instead of a jr."
Try it!
Unbalanced
Conditional
I recieved
this error when including an include file into my program. I
don't know how I fixed the problem, it just seemed to vanish...???
If you know how to fix it please tell me.
Click to return to the site's menu... or here to get back to the tutorial's menu.