I guess that you are refering to the C wrapper, no? Thats an important detail
the memory allocation is documented in the project.lkr file. All memory locations which are not protected are free for your application.
Data in code segment: in assembler you would just write the data via “dw” directive into the code memory, and access it via tblrd*+ and TABLAT. In C you have to declare a global array with initial data, e.g.
unsigned char my_table = {0x01, 0x02, 0x03};
everything else will be handled by the compiler. Further informations about data handling should be available in the SDCC documentation.