Forum > Other
Atari m68k inline assembler error (using vasm): the dc.* pseudo-instruction
Cigydd:
Hello folks,
I am trying to compile an Atari ST disassembly because the source is no more available.
Made a simple project with only the main lpr file and including all the assembler code in one huge asm/end; block.
Everything is working well until a dc.b/dc.w/dc.l pseudo-instruction is reached.
Are such instructions supported by FPC? If not then my effort is in vain, unless I compile the original assembler file itself. But I'd like to have the code inline since I want to rewrite it for Pascal and port it to other platforms. Well, a foolish task but it's one of my dreams.
All I need to know is what this error means, if it's possible to avoid it or fix it (on my side, on the FPC side, or finally on the vasm side).
--- Code: ---WIME68KASM.lpr(368,11) Error: Internal error 200405011
--- End code ---
Tried to change the pseudo-instruction to prepend a period: .dc.w, tried the std assembler dialect equivalent, .uhalf, tried to remove the .w extension, everything fails saying "Invalid or missing opcode."
Hope that I am really using vasm (because the FPC wiki says the GNU assembler is problematic with m68k). Added -XV and -Avasm to the compiler options.
Edit: Tried to compile the original source with vasm. It has no problems with the dc.* pseudo-instructions.
With kind regards,
Cigydd
marcov:
An Internal Error is a kind of assert. 200405011 is the first such assert added on 2004-05-01. I looked what it means and it is in an utility function in rautils that checks if a operand size is 1,2,4 or 8. Probably it also matters to know from where that utility routine was called. (iow where the false argument happened).
Please post a bugreport with the relevant source that triggers the IE on the gitlab bugtracker.
Cigydd:
Wow, thank you! Will try my best.
Cigydd:
Adding the link to the Lazarus issue for reference: https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39934.
Edit: Wrong place. :-[ The right place is https://gitlab.com/freepascal.org/fpc/source/-/issues/39927
PascalDragon:
--- Quote from: Cigydd on September 28, 2022, 04:53:57 pm ---Edit: Tried to compile the original source with vasm. It has no problems with the dc.* pseudo-instructions.
--- End quote ---
As a workaround you can simply link in the generated object file using {$L YourFile.obj} and call the code with the help of external declarations.
Navigation
[0] Message Index
[#] Next page