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.
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:
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:)
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.
Line up the program a little bit better or fix the duplicate label error if you got one.
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.
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.
of args exceeded.
You put too many arguments in a specified .db statement. Spread them out into multiple .db statements.
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).
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!
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.