View Single Post
Old 08 May 2021, 15:45   #2
Registered User
Join Date: Jan 2021
Location: Germany
Posts: 3
Originally Posted by Apollo View Post
currently I play around with some code in C and Asm using the vbcc/vlink/vasm family. To make it more interesting I am using the small code and small data model. Using the docs and some disassembling with IRA I came along quite quickly.

Originally I defined local variables in Assembler and C parts. Then I came aware that the startup code is only clearing the BSS content of vars from the C part so I 'moved' over all variables from the Assembler part to (global) C and XREF'ing them, no problem.
When using small-data you can put them in section "__MERGED",bss. That should work from assembly.
Now I see that all variables get 'extended' to DS.L regardless of their original size. Of course this doesn't make a difference for the size of the executable but still I wonder did I make something wrong here?
vbccm68k tends to put global variables on 32bit boundaries. IRA probably cannot tell the difference between a 32bit variable and a 16bit variable followed by a gap.
vbc is offline  
Page generated in 0.06043 seconds with 11 queries