Bug with almost all operators

Bug reports (if you don't/won't have a Github account)
Post Reply
joaopa
Member
Posts: 46
Joined: Sat Mar 15, 2014 5:42 pm

Bug with almost all operators

Post by joaopa »

Hello,
The following code gives the good result for the variable toto (toto=0x5823):

Code: Select all

#include <stdio.h> 

int main(void)
{
#asm
    org 5813h
ici: 
DEFC toto = ici +0x10
#endasm
}
But other operators do not work. For instance, one obtains toto=0x5813 with the following code

Code: Select all

#include <stdio.h> 

int main(void)
{
#asm
    org 5813h
ici: 
DEFC toto = ici % 0x8
#endasm
}
alvin
Well known member
Posts: 1872
Joined: Mon Jul 16, 2007 7:39 pm

Post by alvin »

I haven't had time to do a proper reply to your other post yet but this one is related.

You cannot set org in inlined asm. z80asm is used as a linking assembler by the toolset (although it can be used as a plain assembler if invoked that way). This means there is a memory map that divides the memory space into sections and the locations of those sections in memory is set via org(s) in the memory map. Inlining an org in the middle of code, I'm not sure what will happen but certainly it's going to break the final executable.

I tried a compile with both cases above and the symbol values happen to be correctly set in the map file (-m):

ici = $5813 ; addr, local, , zzz_c, code_compiler, zzz.c:413
toto = $5823 ; addr, local, , zzz_c, code_compiler, zzz.c:414

ici = $5813 ; addr, local, , zzz_c, code_compiler, zzz.c:413
toto = $0003 ; addr, local, , zzz_c, code_compiler, zzz.c:414
joaopa
Member
Posts: 46
Joined: Sat Mar 15, 2014 5:42 pm

Post by joaopa »

Tanks for the anwer. How di you compile the test cases? For me, with the following command:
$ zcc +vg5k -lndos -lm -m --list test.c -o test.bin
I obtain the following map showing the bug:

Code: Select all

DEFINED_fputc_cons              = $0001 ; const, local, , vg5k_crt0, , zcc_opt.def:5
CRT_ORG_CODE                    = $4A09 ; const, local, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:32
TAR__no_ansifont                = $0001 ; const, local, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:38
TAR__clib_exit_stack_size       = $0020 ; const, local, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:39
TAR__register_sp                = $FFFFFFFFFFFFFFFF ; const, local, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:40
CRT_INITIALIZE_BSS              = $0001 ; const, local, , vg5k_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:3
__register_sp                   = $FFFFFFFFFFFFFFFF ; const, local, , vg5k_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:13
CRT_ENABLE_STDIO                = $0001 ; const, local, , vg5k_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:21
start                           = $4A09 ; addr, local, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:47
start1                          = $4A2A ; addr, local, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:80
crt0_init_bss                   = $4A44 ; addr, local, , vg5k_crt0, code_crt_init, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:13
CLIB_OPT_PRINTF                 = $FFFFFFFF801BF7BF ; const, local, , vg5k_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_runtime_selection.asm:170
CLIB_FOPEN_MAX                  = $000A ; const, local, , vg5k_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:139
ici                             = $5138 ; addr, local, , test_c, code_compiler, test.c:22
toto                            = $5138 ; addr, local, , test_c, code_compiler, test.c:23
i_4                             = $5146 ; addr, local, , closeall_c, code_compiler, closeall.c:31
i_2                             = $5140 ; addr, local, , closeall_c, code_compiler, closeall.c:26
i_3                             = $5171 ; addr, local, , closeall_c, code_compiler, closeall.c:62
i_5                             = $516E ; addr, local, , closeall_c, code_compiler, closeall.c:60
i_6                             = $516E ; addr, local, , closeall_c, code_compiler, closeall.c:59
fp_extra                        = $0004 ; const, local, , fclose_c, , fclose.c:20
fclose_inuse                    = $5184 ; addr, local, , fclose_c, code_compiler, fclose.c:52
fclose_error                    = $5180 ; addr, local, , fclose_c, code_compiler, fclose.c:49
fclose_success                  = $51B5 ; addr, local, , fclose_c, code_compiler, fclose.c:90
fclose_no_net                   = $51A5 ; addr, local, , fclose_c, code_compiler, fclose.c:76
fclose_check_success            = $51B0 ; addr, local, , fclose_c, code_compiler, fclose.c:84
SUPPORT_vt52                    = $0001 ; const, local, , fputc_cons_generic, , fputc_cons_generic.asm:37
SUPPORT_vt52x                   = $0000 ; const, local, , fputc_cons_generic, , fputc_cons_generic.asm:39
SUPPORT_zxcodes                 = $0001 ; const, local, , fputc_cons_generic, , fputc_cons_generic.asm:40
params_left                     = $54CE ; addr, local, , fputc_cons_generic, bss_clib, fputc_cons_generic.asm:422
handle_parameter                = $521F ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:131
handle_character                = $51EA ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:85
check_parameters                = $522E ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:145
handle_character_no_scroll      = $5203 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:103
store_coords                    = $527E ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:218
set_escape                      = $5215 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:120
print_raw                       = $521B ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:126
parameter_dispatch              = $5225 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:137
parameter_processor             = $54D0 ; addr, local, , fputc_cons_generic, bss_clib, fputc_cons_generic.asm:424
do_dispatch                     = $5229 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:140
parameter_table                 = $53F7 ; addr, local, , fputc_cons_generic, rodata_clib, fputc_cons_generic.asm:342
parameter_loop                  = $5231 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:147
not_ansi                        = $5238 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:154
try_again                       = $5256 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:179
set_xypos                       = $525B ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:191
parameters                      = $54CF ; addr, local, , fputc_cons_generic, bss_clib, fputc_cons_generic.asm:423
left                            = $5272 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:210
left_1                          = $527D ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:217
up                              = $5284 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:224
down                            = $528B ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:230
right                           = $5294 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:237
set_vscroll                     = $529D ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:244
set_ink                         = $52A5 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:252
set_paper                       = $52AA ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:257
cls                             = $52AF ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:263
move_home                       = $52B2 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:264
set_inverse_ansi                = $52B7 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:269
set_inverse                     = $52B8 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:272
set_inverse_call_generic        = $52BD ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:276
handle_cr                       = $52C2 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:313
handle_cr_no_need_to_scroll     = $52D4 ; addr, local, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:325
DISPLAY                         = $4000 ; const, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:19
cls0                            = $5306 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:56
cls1                            = $5308 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:58
refresh_screen                  = $539C ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:208
xypos                           = $5357 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:150
not_raw                         = $532F ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:117
place_text                      = $5343 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:131
place_it                        = $5347 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:135
not_udg                         = $533B ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:126
zrow                            = $5353 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:146
generic_console_printc_1        = $535E ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:154
vpeek_done                      = $5378 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:180
not_vpeek_udg                   = $5376 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:178
generic_console_scrollup_3      = $538F ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:196
refresh_screen1                 = $53A5 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:212
same_line                       = $53C4 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:238
increment_row                   = $53C3 ; addr, local, , generic_console, code_clib, stdio/vg5k/generic_console.asm:236
no_set_font                     = $4A87 ; addr, local, , generic_console, code_crt_init, stdio/vg5k/generic_console.asm:274
set_font                        = $4A79 ; addr, local, , generic_console, code_crt_init, stdio/vg5k/generic_console.asm:264
loop                            = $53D7 ; addr, local, , set_character, code_clib, stdio/vg5k/set_character.asm:23
colour_table                    = $5452 ; addr, local, , code_clib, rodata_clib, stdio/vg5k/conio_map_colour.asm:28
fputc_cons                      = $51CD ; addr, public, , vg5k_crt0, , zcc_opt.def:6
cleanup                         = $4A27 ; addr, public, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:71
l_dcal                          = $4A33 ; addr, public, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:87
__CRT_KEY_DEL                   = $0008 ; const, public, , vg5k_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:39
__CRT_KEY_CAPS_LOCK             = $0006 ; const, public, , vg5k_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:46
__CPU_CLOCK                     = $3D0900 ; const, public, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:41
__CLIB_CONIO_NATIVE_COLOUR      = $0000 ; const, public, , vg5k_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:58
__CLIB_FGETC_CONS_DELAY         = $0032 ; const, public, , vg5k_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:67
__clib_exit_stack_size          = $0020 ; const, public, , vg5k_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:28
CONSOLE_COLUMNS                 = $0028 ; const, public, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:35
CONSOLE_ROWS                    = $0019 ; const, public, , vg5k_crt0, , /home/david/z88dk/lib/config//../..//lib/target/vg5k/classic/vg5k_crt0.asm:36
__sgoioblk                      = $5465 ; addr, public, , vg5k_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:145
__sgoioblk_end                  = $54C9 ; addr, public, , vg5k_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:146
__FOPEN_MAX                     = $000A ; const, public, , vg5k_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:144
base_graphics                   = $54C9 ; addr, public, , vg5k_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:152
exitsp                          = $54CB ; addr, public, , vg5k_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:154
exitcount                       = $54CD ; addr, public, , vg5k_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:155
_main                           = $5138 ; addr, public, , test_c, code_compiler, test.c:20
_closeall                       = $5139 ; addr, public, , closeall_c, code_compiler, closeall.c:22
closeall                        = $5139 ; addr, public, , closeall_c, code_compiler, closeall.c:20
fabandon                        = $51BF ; addr, public, , fabandon, code_clib, fabandon.asm:8
_fabandon                       = $51BF ; addr, public, , fabandon, code_clib, fabandon.asm:9
_fclose                         = $5173 ; addr, public, , fclose_c, code_compiler, fclose.c:33
fclose                          = $5173 ; addr, public, , fclose_c, code_compiler, fclose.c:31
close                           = $51CC ; addr, public, , close, code_clib, close.asm:11
_close                          = $51CC ; addr, public, , close, code_clib, close.asm:12
fputc_cons_generic              = $51CD ; addr, public, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:65
_fputc_cons_generic             = $51CD ; addr, public, , fputc_cons_generic, code_clib, fputc_cons_generic.asm:66
generic_console_flags           = $54D2 ; addr, public, , fputc_cons_generic, bss_clib, fputc_cons_generic.asm:426
generic_console_cls             = $52FC ; addr, public, , generic_console, code_clib, stdio/vg5k/generic_console.asm:51
generic_console_vpeek           = $5364 ; addr, public, , generic_console, code_clib, stdio/vg5k/generic_console.asm:167
generic_console_scrollup        = $537A ; addr, public, , generic_console, code_clib, stdio/vg5k/generic_console.asm:185
generic_console_printc          = $5316 ; addr, public, , generic_console, code_clib, stdio/vg5k/generic_console.asm:99
generic_console_set_ink         = $52ED ; addr, public, , generic_console, code_clib, stdio/vg5k/generic_console.asm:40
generic_console_set_paper       = $52DA ; addr, public, , generic_console, code_clib, stdio/vg5k/generic_console.asm:24
generic_console_set_inverse     = $52D9 ; addr, public, , generic_console, code_clib, stdio/vg5k/generic_console.asm:21
__vg5k_custom_font              = $54D3 ; addr, public, , generic_console, bss_clib, stdio/vg5k/generic_console.asm:249
CRT_FONT                        = $0000 ; const, public, , CRT_FONT, rodata_clib, stdio/vg5k/CRT_FONT.asm:6
set_character                   = $53E9 ; addr, public, , set_character, code_clib, stdio/vg5k/set_character.asm:40
set_character8                  = $53CB ; addr, public, , set_character, code_clib, stdio/vg5k/set_character.asm:14
conio_map_colour                = $4A34 ; addr, public, , code_clib, , stdio/vg5k/conio_map_colour.asm:13
__vg5k_attr                     = $5462 ; addr, public, , conio_vars, data_clib, stdio/vg5k/conio_vars.asm:8
__console_x                     = $54D4 ; addr, public, , console_coords, bss_clib, stdio/conio/console_coords.asm:14
__console_y                     = $54D5 ; addr, public, , console_coords, bss_clib, stdio/conio/console_coords.asm:15
__console_w                     = $5463 ; addr, public, , console_coords, data_clib, stdio/conio/console_coords.asm:20
__console_h                     = $5464 ; addr, public, , console_coords, data_clib, stdio/conio/console_coords.asm:21
l_jphl                          = $53F6 ; addr, public, , l_jphl, code_crt0_sccz80, crt0/l_jphl.asm:9
__head                          = $4A09 ; const, public, def, , ,
__tail                          = $54D6 ; const, public, def, , ,
__size                          = $0ACD ; const, public, def, , ,
__CODE_head                     = $4A44 ; const, public, def, , ,
__CODE_tail                     = $4A44 ; const, public, def, , ,
__CODE_size                     = $0000 ; const, public, def, , ,
__code_crt_init_head            = $4A44 ; const, public, def, , ,
__code_crt_init_tail            = $4A87 ; const, public, def, , ,
__code_crt_init_size            = $0043 ; const, public, def, , ,
__code_crt_exit_head            = $4A87 ; const, public, def, , ,
__code_crt_exit_tail            = $4A88 ; const, public, def, , ,
__code_crt_exit_size            = $0001 ; const, public, def, , ,
__code_driver_head              = $4A88 ; const, public, def, , ,
__code_driver_tail              = $4A88 ; const, public, def, , ,
__code_driver_size              = $0000 ; const, public, def, , ,
__code_compiler_head            = $5138 ; const, public, def, , ,
__code_compiler_tail            = $51BF ; const, public, def, , ,
__code_compiler_size            = $0087 ; const, public, def, , ,
__code_clib_head                = $51BF ; const, public, def, , ,
__code_clib_tail                = $53F6 ; const, public, def, , ,
__code_clib_size                = $0237 ; const, public, def, , ,
__code_crt0_sccz80_head         = $53F6 ; const, public, def, , ,
__code_crt0_sccz80_tail         = $53F7 ; const, public, def, , ,
__code_crt0_sccz80_size         = $0001 ; const, public, def, , ,
__code_l_head                   = $53F7 ; const, public, def, , ,
__code_l_tail                   = $53F7 ; const, public, def, , ,
__code_l_size                   = $0000 ; const, public, def, , ,
__code_l_sdcc_head              = $53F7 ; const, public, def, , ,
__code_l_sdcc_tail              = $53F7 ; const, public, def, , ,
__code_l_sdcc_size              = $0000 ; const, public, def, , ,
__code_l_sccz80_head            = $53F7 ; const, public, def, , ,
__code_l_sccz80_tail            = $53F7 ; const, public, def, , ,
__code_l_sccz80_size            = $0000 ; const, public, def, , ,
__code_compress_zx7_head        = $53F7 ; const, public, def, , ,
__code_compress_zx7_tail        = $53F7 ; const, public, def, , ,
__code_compress_zx7_size        = $0000 ; const, public, def, , ,
__code_ctype_head               = $53F7 ; const, public, def, , ,
__code_ctype_tail               = $53F7 ; const, public, def, , ,
__code_ctype_size               = $0000 ; const, public, def, , ,
__code_esxdos_head              = $53F7 ; const, public, def, , ,
__code_esxdos_tail              = $53F7 ; const, public, def, , ,
__code_esxdos_size              = $0000 ; const, public, def, , ,
__code_fp_head                  = $53F7 ; const, public, def, , ,
__code_fp_tail                  = $53F7 ; const, public, def, , ,
__code_fp_size                  = $0000 ; const, public, def, , ,
__code_fp_math48_head           = $53F7 ; const, public, def, , ,
__code_fp_math48_tail           = $53F7 ; const, public, def, , ,
__code_fp_math48_size           = $0000 ; const, public, def, , ,
__code_math_head                = $53F7 ; const, public, def, , ,
__code_math_tail                = $53F7 ; const, public, def, , ,
__code_math_size                = $0000 ; const, public, def, , ,
__code_error_head               = $53F7 ; const, public, def, , ,
__code_error_tail               = $53F7 ; const, public, def, , ,
__code_error_size               = $0000 ; const, public, def, , ,
__code_stdlib_head              = $53F7 ; const, public, def, , ,
__code_stdlib_tail              = $53F7 ; const, public, def, , ,
__code_stdlib_size              = $0000 ; const, public, def, , ,
__code_string_head              = $53F7 ; const, public, def, , ,
__code_string_tail              = $53F7 ; const, public, def, , ,
__code_string_size              = $0000 ; const, public, def, , ,
__code_adt_b_array_head         = $53F7 ; const, public, def, , ,
__code_adt_b_array_tail         = $53F7 ; const, public, def, , ,
__code_adt_b_array_size         = $0000 ; const, public, def, , ,
__code_adt_b_vector_head        = $53F7 ; const, public, def, , ,
__code_adt_b_vector_tail        = $53F7 ; const, public, def, , ,
__code_adt_b_vector_size        = $0000 ; const, public, def, , ,
__code_adt_ba_priority_queue_head = $53F7 ; const, public, def, , ,
__code_adt_ba_priority_queue_tail = $53F7 ; const, public, def, , ,
__code_adt_ba_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_ba_stack_head        = $53F7 ; const, public, def, , ,
__code_adt_ba_stack_tail        = $53F7 ; const, public, def, , ,
__code_adt_ba_stack_size        = $0000 ; const, public, def, , ,
__code_adt_bv_priority_queue_head = $53F7 ; const, public, def, , ,
__code_adt_bv_priority_queue_tail = $53F7 ; const, public, def, , ,
__code_adt_bv_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_bv_stack_head        = $53F7 ; const, public, def, , ,
__code_adt_bv_stack_tail        = $53F7 ; const, public, def, , ,
__code_adt_bv_stack_size        = $0000 ; const, public, def, , ,
__code_adt_p_forward_list_head  = $53F7 ; const, public, def, , ,
__code_adt_p_forward_list_tail  = $53F7 ; const, public, def, , ,
__code_adt_p_forward_list_size  = $0000 ; const, public, def, , ,
__code_adt_p_forward_list_alt_head = $53F7 ; const, public, def, , ,
__code_adt_p_forward_list_alt_tail = $53F7 ; const, public, def, , ,
__code_adt_p_forward_list_alt_size = $0000 ; const, public, def, , ,
__code_adt_p_list_head          = $53F7 ; const, public, def, , ,
__code_adt_p_list_tail          = $53F7 ; const, public, def, , ,
__code_adt_p_list_size          = $0000 ; const, public, def, , ,
__code_adt_p_queue_head         = $53F7 ; const, public, def, , ,
__code_adt_p_queue_tail         = $53F7 ; const, public, def, , ,
__code_adt_p_queue_size         = $0000 ; const, public, def, , ,
__code_adt_p_stack_head         = $53F7 ; const, public, def, , ,
__code_adt_p_stack_tail         = $53F7 ; const, public, def, , ,
__code_adt_p_stack_size         = $0000 ; const, public, def, , ,
__code_adt_w_array_head         = $53F7 ; const, public, def, , ,
__code_adt_w_array_tail         = $53F7 ; const, public, def, , ,
__code_adt_w_array_size         = $0000 ; const, public, def, , ,
__code_adt_w_vector_head        = $53F7 ; const, public, def, , ,
__code_adt_w_vector_tail        = $53F7 ; const, public, def, , ,
__code_adt_w_vector_size        = $0000 ; const, public, def, , ,
__code_adt_wa_priority_queue_head = $53F7 ; const, public, def, , ,
__code_adt_wa_priority_queue_tail = $53F7 ; const, public, def, , ,
__code_adt_wa_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_wa_stack_head        = $53F7 ; const, public, def, , ,
__code_adt_wa_stack_tail        = $53F7 ; const, public, def, , ,
__code_adt_wa_stack_size        = $0000 ; const, public, def, , ,
__code_adt_wv_priority_queue_head = $53F7 ; const, public, def, , ,
__code_adt_wv_priority_queue_tail = $53F7 ; const, public, def, , ,
__code_adt_wv_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_wv_stack_head        = $53F7 ; const, public, def, , ,
__code_adt_wv_stack_tail        = $53F7 ; const, public, def, , ,
__code_adt_wv_stack_size        = $0000 ; const, public, def, , ,
__code_alloc_balloc_head        = $53F7 ; const, public, def, , ,
__code_alloc_balloc_tail        = $53F7 ; const, public, def, , ,
__code_alloc_balloc_size        = $0000 ; const, public, def, , ,
__code_alloc_obstack_head       = $53F7 ; const, public, def, , ,
__code_alloc_obstack_tail       = $53F7 ; const, public, def, , ,
__code_alloc_obstack_size       = $0000 ; const, public, def, , ,
__code_arch_head                = $53F7 ; const, public, def, , ,
__code_arch_tail                = $53F7 ; const, public, def, , ,
__code_arch_size                = $0000 ; const, public, def, , ,
__code_font_head                = $53F7 ; const, public, def, , ,
__code_font_tail                = $53F7 ; const, public, def, , ,
__code_font_size                = $0000 ; const, public, def, , ,
__code_font_fzx_head            = $53F7 ; const, public, def, , ,
__code_font_fzx_tail            = $53F7 ; const, public, def, , ,
__code_font_fzx_size            = $0000 ; const, public, def, , ,
__code_z80_head                 = $53F7 ; const, public, def, , ,
__code_z80_tail                 = $53F7 ; const, public, def, , ,
__code_z80_size                 = $0000 ; const, public, def, , ,
__code_user_head                = $53F7 ; const, public, def, , ,
__code_user_tail                = $53F7 ; const, public, def, , ,
__code_user_size                = $0000 ; const, public, def, , ,
__rodata_fp_head                = $53F7 ; const, public, def, , ,
__rodata_fp_tail                = $53F7 ; const, public, def, , ,
__rodata_fp_size                = $0000 ; const, public, def, , ,
__rodata_compiler_head          = $53F7 ; const, public, def, , ,
__rodata_compiler_tail          = $53F7 ; const, public, def, , ,
__rodata_compiler_size          = $0000 ; const, public, def, , ,
__rodata_clib_head              = $53F7 ; const, public, def, , ,
__rodata_clib_tail              = $5462 ; const, public, def, , ,
__rodata_clib_size              = $006B ; const, public, def, , ,
__rodata_user_head              = $5462 ; const, public, def, , ,
__rodata_user_tail              = $5462 ; const, public, def, , ,
__rodata_user_size              = $0000 ; const, public, def, , ,
__rodata_font_head              = $5462 ; const, public, def, , ,
__rodata_font_tail              = $5462 ; const, public, def, , ,
__rodata_font_size              = $0000 ; const, public, def, , ,
__rodata_font_fzx_head          = $5462 ; const, public, def, , ,
__rodata_font_fzx_tail          = $5462 ; const, public, def, , ,
__rodata_font_fzx_size          = $0000 ; const, public, def, , ,
__rodata_font_4x8_head          = $5462 ; const, public, def, , ,
__rodata_font_4x8_tail          = $5462 ; const, public, def, , ,
__rodata_font_4x8_size          = $0000 ; const, public, def, , ,
__rodata_font_8x8_head          = $5462 ; const, public, def, , ,
__rodata_font_8x8_tail          = $5462 ; const, public, def, , ,
__rodata_font_8x8_size          = $0000 ; const, public, def, , ,
__ROMABLE_END_head              = $5462 ; const, public, def, , ,
__ROMABLE_END_tail              = $5462 ; const, public, def, , ,
__ROMABLE_END_size              = $0000 ; const, public, def, , ,
__DATA_head                     = $5462 ; const, public, def, , ,
__DATA_tail                     = $5462 ; const, public, def, , ,
__DATA_size                     = $0000 ; const, public, def, , ,
__smc_clib_head                 = $5462 ; const, public, def, , ,
__smc_clib_tail                 = $5462 ; const, public, def, , ,
__smc_clib_size                 = $0000 ; const, public, def, , ,
__smc_user_head                 = $5462 ; const, public, def, , ,
__smc_user_tail                 = $5462 ; const, public, def, , ,
__smc_user_size                 = $0000 ; const, public, def, , ,
__data_clib_head                = $5462 ; const, public, def, , ,
__data_clib_tail                = $5465 ; const, public, def, , ,
__data_clib_size                = $0003 ; const, public, def, , ,
__data_stdlib_head              = $5465 ; const, public, def, , ,
__data_stdlib_tail              = $5465 ; const, public, def, , ,
__data_stdlib_size              = $0000 ; const, public, def, , ,
__data_crt_head                 = $5465 ; const, public, def, , ,
__data_crt_tail                 = $5465 ; const, public, def, , ,
__data_crt_size                 = $0000 ; const, public, def, , ,
__data_compiler_head            = $5465 ; const, public, def, , ,
__data_compiler_tail            = $5465 ; const, public, def, , ,
__data_compiler_size            = $0000 ; const, public, def, , ,
__data_user_head                = $5465 ; const, public, def, , ,
__data_user_tail                = $5465 ; const, public, def, , ,
__data_user_size                = $0000 ; const, public, def, , ,
__data_alloc_balloc_head        = $5465 ; const, public, def, , ,
__data_alloc_balloc_tail        = $5465 ; const, public, def, , ,
__data_alloc_balloc_size        = $0000 ; const, public, def, , ,
__DATA_END_head                 = $5465 ; const, public, def, , ,
__DATA_END_tail                 = $5465 ; const, public, def, , ,
__DATA_END_size                 = $0000 ; const, public, def, , ,
__BSS_head                      = $5465 ; const, public, def, , ,
__BSS_tail                      = $5465 ; const, public, def, , ,
__BSS_size                      = $0000 ; const, public, def, , ,
__bss_fp_head                   = $5465 ; const, public, def, , ,
__bss_fp_tail                   = $5465 ; const, public, def, , ,
__bss_fp_size                   = $0000 ; const, public, def, , ,
__bss_error_head                = $5465 ; const, public, def, , ,
__bss_error_tail                = $5465 ; const, public, def, , ,
__bss_error_size                = $0000 ; const, public, def, , ,
__bss_crt_head                  = $5465 ; const, public, def, , ,
__bss_crt_tail                  = $54CE ; const, public, def, , ,
__bss_crt_size                  = $0069 ; const, public, def, , ,
__bss_fardata_head              = $54CE ; const, public, def, , ,
__bss_fardata_tail              = $54CE ; const, public, def, , ,
__bss_fardata_size              = $0000 ; const, public, def, , ,
__bss_compiler_head             = $54CE ; const, public, def, , ,
__bss_compiler_tail             = $54CE ; const, public, def, , ,
__bss_compiler_size             = $0000 ; const, public, def, , ,
__bss_clib_head                 = $54CE ; const, public, def, , ,
__bss_clib_tail                 = $54D6 ; const, public, def, , ,
__bss_clib_size                 = $0008 ; const, public, def, , ,
__bss_string_head               = $54D6 ; const, public, def, , ,
__bss_string_tail               = $54D6 ; const, public, def, , ,
__bss_string_size               = $0000 ; const, public, def, , ,
__bss_alloc_balloc_head         = $54D6 ; const, public, def, , ,
__bss_alloc_balloc_tail         = $54D6 ; const, public, def, , ,
__bss_alloc_balloc_size         = $0000 ; const, public, def, , ,
__bss_user_head                 = $54D6 ; const, public, def, , ,
__bss_user_tail                 = $54D6 ; const, public, def, , ,
__bss_user_size                 = $0000 ; const, public, def, , ,
__BSS_END_head                  = $54D6 ; const, public, def, , ,
__BSS_END_tail                  = $54D6 ; const, public, def, , ,
__BSS_END_size                  = $0000 ; const, public, def, , ,
joaopa
Member
Posts: 46
Joined: Sat Mar 15, 2014 5:42 pm

Post by joaopa »

Even worse, the following simple code, compiled withe commmand zcc +zx -lndos -lm -m --list test.c -o test.bin, does not give the expected result:

Code: Select all

#include <stdio.h> 

int main(void)
{
#asm
ici: 
    DEFC toto = ici %8
#endasm
}

Code: Select all

CRT_ORG_CODE                    = $8000 ; const, local, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:58
TAR__fputc_cons_generic         = $0001 ; const, local, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:67
DEF__register_sp                = $FFFFFFFFFFFFFFFF ; const, local, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:69
TAR__clib_exit_stack_size       = $0020 ; const, local, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:70
CRT_KEY_DEL                     = $000C ; const, local, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:71
CRT_INITIALIZE_BSS              = $0001 ; const, local, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:3
__register_sp                   = $FFFFFFFFFFFFFFFF ; const, local, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:15
CRT_ENABLE_STDIO                = $0001 ; const, local, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:21
start                           = $8000 ; addr, local, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:78
start1                          = $8020 ; addr, local, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:204
crt0_init_bss                   = $803B ; addr, local, , zx82_crt0, code_crt_init, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:13
cleanup_exit                    = $801B ; addr, local, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:200
CLIB_OPT_PRINTF                 = $FFFFFFFF801BF7BF ; const, local, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_runtime_selection.asm:170
DEFINED_fputc_cons              = $0001 ; const, local, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_runtime_selection.asm:462
CLIB_FOPEN_MAX                  = $000A ; const, local, , zx82_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:139
_RND_BLOCKSIZE                  = $8347 ; addr, local, , zx82_crt0, rodata_clib, /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:364
CRT_ORG_BANK_0                  = $C000 ; const, local, , zx82_crt0, rodata_clib, /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:372
CRT_ORG_BANK_1                  = $C000 ; const, local, , zx82_crt0, rodata_clib, /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:376
CRT_ORG_BANK_2                  = $C000 ; const, local, , zx82_crt0, rodata_clib, /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:380
CRT_ORG_BANK_3                  = $C000 ; const, local, , zx82_crt0, rodata_clib, /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:384
CRT_ORG_BANK_4                  = $C000 ; const, local, , zx82_crt0, rodata_clib, /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:388
CRT_ORG_BANK_5                  = $C000 ; const, local, , zx82_crt0, rodata_clib, /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:392
CRT_ORG_BANK_6                  = $C000 ; const, local, , zx82_crt0, rodata_clib, /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:396
CRT_ORG_BANK_7                  = $C000 ; const, local, , zx82_crt0, rodata_clib, /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:400
ici                             = $8066 ; addr, local, , test_c, code_compiler, test.c:21
toto                            = $8066 ; addr, local, , test_c, code_compiler, test.c:22
i_4                             = $8074 ; addr, local, , closeall_c, code_compiler, closeall.c:31
i_2                             = $806E ; addr, local, , closeall_c, code_compiler, closeall.c:26
i_3                             = $809F ; addr, local, , closeall_c, code_compiler, closeall.c:62
i_5                             = $809C ; addr, local, , closeall_c, code_compiler, closeall.c:60
i_6                             = $809C ; addr, local, , closeall_c, code_compiler, closeall.c:59
fp_extra                        = $0004 ; const, local, , fclose_c, , fclose.c:20
fclose_inuse                    = $80B2 ; addr, local, , fclose_c, code_compiler, fclose.c:52
fclose_error                    = $80AE ; addr, local, , fclose_c, code_compiler, fclose.c:49
fclose_success                  = $80E3 ; addr, local, , fclose_c, code_compiler, fclose.c:90
fclose_no_net                   = $80D3 ; addr, local, , fclose_c, code_compiler, fclose.c:76
fclose_check_success            = $80DE ; addr, local, , fclose_c, code_compiler, fclose.c:84
SUPPORT_vt52                    = $0001 ; const, local, , fputc_cons_generic_asm, , fputc_cons_generic.asm:37
SUPPORT_vt52x                   = $0000 ; const, local, , fputc_cons_generic_asm, , fputc_cons_generic.asm:39
SUPPORT_zxcodes                 = $0001 ; const, local, , fputc_cons_generic_asm, , fputc_cons_generic.asm:40
params_left                     = $8718 ; addr, local, , fputc_cons_generic_asm, bss_clib, fputc_cons_generic.asm:422
handle_parameter                = $814D ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:131
handle_character                = $8118 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:85
check_parameters                = $815C ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:145
handle_character_no_scroll      = $8131 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:103
store_coords                    = $81AC ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:218
set_escape                      = $8143 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:120
print_raw                       = $8149 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:126
parameter_dispatch              = $8153 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:137
parameter_processor             = $871A ; addr, local, , fputc_cons_generic_asm, bss_clib, fputc_cons_generic.asm:424
do_dispatch                     = $8157 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:140
parameter_table                 = $8349 ; addr, local, , fputc_cons_generic_asm, rodata_clib, fputc_cons_generic.asm:342
parameter_loop                  = $815F ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:147
not_ansi                        = $8166 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:154
try_again                       = $8184 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:179
set_xypos                       = $8189 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:191
parameters                      = $8719 ; addr, local, , fputc_cons_generic_asm, bss_clib, fputc_cons_generic.asm:423
left                            = $81A0 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:210
left_1                          = $81AB ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:217
up                              = $81B2 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:224
down                            = $81B9 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:230
right                           = $81C2 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:237
set_vscroll                     = $81CB ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:244
set_ink                         = $81D3 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:252
set_paper                       = $81D8 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:257
cls                             = $81DD ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:263
move_home                       = $81E0 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:264
set_inverse_ansi                = $81E5 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:269
set_inverse                     = $81E6 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:272
set_inverse_call_generic        = $81EB ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:276
handle_cr                       = $81F0 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:313
handle_cr_no_need_to_scroll     = $8202 ; addr, local, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:325
ts2068_rom                      = $8216 ; addr, local, , generic_console_scrollup, code_clib, stdio/spectrum/generic_console_scrollup.asm:29
handle_controls                 = $8252 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:21
start_code                      = $8269 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:35
set_flash                       = $826D ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:41
set_bright                      = $8279 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:50
set_switch                      = $8285 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:59
print32                         = $82CB ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:108
set_switch1                     = $8295 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:67
print64                         = $8303 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:154
print_routine                   = $86A4 ; addr, local, , generic_console_printc, data_clib, stdio/spectrum/generic_console_printc.asm:245
set_font_hi                     = $829C ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:72
set_font_lo                     = $82A2 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:76
skip_control_codes              = $82C7 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:102
expect_flags                    = $871D ; addr, local, , generic_console_printc, bss_clib, stdio/spectrum/generic_console_printc.asm:237
handle_characters               = $82DE ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:117
print32_loop                    = $82ED ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:129
handle_attributes               = $82F4 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:136
not_even_column                 = $8311 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:163
print64_loop                    = $8321 ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:178
print64_noinverse               = $832D ; addr, local, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:188
cleanup                         = $8017 ; addr, public, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:147
l_dcal                          = $8024 ; addr, public, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:211
call_rom3                       = $8025 ; addr, public, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:297
_FRAMES                         = $5C78 ; const, public, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:37
__SYSVAR_BORDCR                 = $5C48 ; const, public, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:40
__CRT_KEY_DEL                   = $000C ; const, public, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:37
__CRT_KEY_CAPS_LOCK             = $0006 ; const, public, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:46
__CPU_CLOCK                     = $3567E0 ; const, public, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:72
__CLIB_CONIO_NATIVE_COLOUR      = $0000 ; const, public, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:58
__CLIB_FGETC_CONS_DELAY         = $0032 ; const, public, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:67
__clib_exit_stack_size          = $0020 ; const, public, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_rules.inc:28
fputc_cons                      = $80FB ; addr, public, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_runtime_selection.asm:469
_fputc_cons                     = $80FB ; addr, public, , zx82_crt0, , /home/david/z88dk/lib/../lib/crt/classic/crt_runtime_selection.asm:470
CONSOLE_COLUMNS                 = $0040 ; const, public, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:63
CONSOLE_ROWS                    = $0018 ; const, public, , zx82_crt0, , /home/david/z88dk/lib/config//../..//lib/target/zx/classic/spec_crt0.asm:64
__sgoioblk                      = $86AF ; addr, public, , zx82_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:145
__sgoioblk_end                  = $8713 ; addr, public, , zx82_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:146
__FOPEN_MAX                     = $000A ; const, public, , zx82_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:144
base_graphics                   = $8713 ; addr, public, , zx82_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:152
exitsp                          = $8715 ; addr, public, , zx82_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:154
exitcount                       = $8717 ; addr, public, , zx82_crt0, bss_crt, /home/david/z88dk/lib/../lib/crt/classic/crt_section.asm:155
_main                           = $8066 ; addr, public, , test_c, code_compiler, test.c:20
_closeall                       = $8067 ; addr, public, , closeall_c, code_compiler, closeall.c:22
closeall                        = $8067 ; addr, public, , closeall_c, code_compiler, closeall.c:20
fabandon                        = $80ED ; addr, public, , fabandon, code_clib, fabandon.asm:8
_fabandon                       = $80ED ; addr, public, , fabandon, code_clib, fabandon.asm:9
_fclose                         = $80A1 ; addr, public, , fclose_c, code_compiler, fclose.c:33
fclose                          = $80A1 ; addr, public, , fclose_c, code_compiler, fclose.c:31
close                           = $80FA ; addr, public, , close, code_clib, close.asm:11
_close                          = $80FA ; addr, public, , close, code_clib, close.asm:12
fputc_cons_generic              = $80FB ; addr, public, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:65
_fputc_cons_generic             = $80FB ; addr, public, , fputc_cons_generic_asm, code_clib, fputc_cons_generic.asm:66
generic_console_flags           = $871C ; addr, public, , fputc_cons_generic_asm, bss_clib, fputc_cons_generic.asm:426
generic_console_scrollup        = $8207 ; addr, public, , generic_console_scrollup, code_clib, stdio/spectrum/generic_console_scrollup.asm:15
generic_console_cls             = $821D ; addr, public, , generic_console_cls, code_clib, stdio/spectrum/generic_console_cls.asm:13
generic_console_set_ink         = $8246 ; addr, public, , generic_console_attrs, code_clib, stdio/spectrum/generic_console_attrs.asm:26
generic_console_set_paper       = $8237 ; addr, public, , generic_console_attrs, code_clib, stdio/spectrum/generic_console_attrs.asm:12
generic_console_set_inverse     = $8245 ; addr, public, , generic_console_attrs, code_clib, stdio/spectrum/generic_console_attrs.asm:23
generic_console_printc          = $82A8 ; addr, public, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:86
generic_console_calc_screen_addr = $8337 ; addr, public, , generic_console_printc, code_clib, stdio/spectrum/generic_console_printc.asm:204
__ts2068_hrgmode                = $871E ; addr, public, , console_vars, bss_clib, stdio/spectrum/console_vars.asm:21
__zx_32col_font                 = $86A6 ; addr, public, , console_vars, data_clib, stdio/spectrum/console_vars.asm:15
__zx_32col_udgs                 = $86AA ; addr, public, , console_vars, data_clib, stdio/spectrum/console_vars.asm:17
__zx_64col_font                 = $86A8 ; addr, public, , console_vars, data_clib, stdio/spectrum/console_vars.asm:16
CRT_FONT                        = $3D00 ; const, public, , CRT_FONT, rodata_clib, stdio/spectrum/CRT_FONT.asm:6
CRT_FONT_64                     = $83A4 ; addr, public, , CRT_FONT_64, rodata_clib, stdio/spectrum/CRT_FONT_64.asm:7
__zx_console_attr               = $86AC ; addr, public, , console_vars, data_clib, stdio/spectrum/conio_vars.asm:8
__console_x                     = $871F ; addr, public, , console_coords, bss_clib, stdio/conio/console_coords.asm:14
__console_y                     = $8720 ; addr, public, , console_coords, bss_clib, stdio/conio/console_coords.asm:15
__console_w                     = $86AD ; addr, public, , console_coords, data_clib, stdio/conio/console_coords.asm:20
__console_h                     = $86AE ; addr, public, , console_coords, data_clib, stdio/conio/console_coords.asm:21
l_jphl                          = $8346 ; addr, public, , l_jphl, code_crt0_sccz80, crt0/l_jphl.asm:9
__head                          = $8000 ; const, public, def, , ,
__tail                          = $C000 ; const, public, def, , ,
__size                          = $4000 ; const, public, def, , ,
__CODE_head                     = $803B ; const, public, def, , ,
__CODE_tail                     = $803B ; const, public, def, , ,
__CODE_size                     = $0000 ; const, public, def, , ,
__code_crt_init_head            = $803B ; const, public, def, , ,
__code_crt_init_tail            = $8065 ; const, public, def, , ,
__code_crt_init_size            = $002A ; const, public, def, , ,
__code_crt_exit_head            = $8065 ; const, public, def, , ,
__code_crt_exit_tail            = $8066 ; const, public, def, , ,
__code_crt_exit_size            = $0001 ; const, public, def, , ,
__code_driver_head              = $8066 ; const, public, def, , ,
__code_driver_tail              = $8066 ; const, public, def, , ,
__code_driver_size              = $0000 ; const, public, def, , ,
__code_compiler_head            = $8066 ; const, public, def, , ,
__code_compiler_tail            = $80ED ; const, public, def, , ,
__code_compiler_size            = $0087 ; const, public, def, , ,
__code_clib_head                = $80ED ; const, public, def, , ,
__code_clib_tail                = $8346 ; const, public, def, , ,
__code_clib_size                = $0259 ; const, public, def, , ,
__code_crt0_sccz80_head         = $8346 ; const, public, def, , ,
__code_crt0_sccz80_tail         = $8347 ; const, public, def, , ,
__code_crt0_sccz80_size         = $0001 ; const, public, def, , ,
__code_l_head                   = $8347 ; const, public, def, , ,
__code_l_tail                   = $8347 ; const, public, def, , ,
__code_l_size                   = $0000 ; const, public, def, , ,
__code_l_sdcc_head              = $8347 ; const, public, def, , ,
__code_l_sdcc_tail              = $8347 ; const, public, def, , ,
__code_l_sdcc_size              = $0000 ; const, public, def, , ,
__code_l_sccz80_head            = $8347 ; const, public, def, , ,
__code_l_sccz80_tail            = $8347 ; const, public, def, , ,
__code_l_sccz80_size            = $0000 ; const, public, def, , ,
__code_compress_zx7_head        = $8347 ; const, public, def, , ,
__code_compress_zx7_tail        = $8347 ; const, public, def, , ,
__code_compress_zx7_size        = $0000 ; const, public, def, , ,
__code_ctype_head               = $8347 ; const, public, def, , ,
__code_ctype_tail               = $8347 ; const, public, def, , ,
__code_ctype_size               = $0000 ; const, public, def, , ,
__code_esxdos_head              = $8347 ; const, public, def, , ,
__code_esxdos_tail              = $8347 ; const, public, def, , ,
__code_esxdos_size              = $0000 ; const, public, def, , ,
__code_fp_head                  = $8347 ; const, public, def, , ,
__code_fp_tail                  = $8347 ; const, public, def, , ,
__code_fp_size                  = $0000 ; const, public, def, , ,
__code_fp_math48_head           = $8347 ; const, public, def, , ,
__code_fp_math48_tail           = $8347 ; const, public, def, , ,
__code_fp_math48_size           = $0000 ; const, public, def, , ,
__code_math_head                = $8347 ; const, public, def, , ,
__code_math_tail                = $8347 ; const, public, def, , ,
__code_math_size                = $0000 ; const, public, def, , ,
__code_error_head               = $8347 ; const, public, def, , ,
__code_error_tail               = $8347 ; const, public, def, , ,
__code_error_size               = $0000 ; const, public, def, , ,
__code_stdlib_head              = $8347 ; const, public, def, , ,
__code_stdlib_tail              = $8347 ; const, public, def, , ,
__code_stdlib_size              = $0000 ; const, public, def, , ,
__code_string_head              = $8347 ; const, public, def, , ,
__code_string_tail              = $8347 ; const, public, def, , ,
__code_string_size              = $0000 ; const, public, def, , ,
__code_adt_b_array_head         = $8347 ; const, public, def, , ,
__code_adt_b_array_tail         = $8347 ; const, public, def, , ,
__code_adt_b_array_size         = $0000 ; const, public, def, , ,
__code_adt_b_vector_head        = $8347 ; const, public, def, , ,
__code_adt_b_vector_tail        = $8347 ; const, public, def, , ,
__code_adt_b_vector_size        = $0000 ; const, public, def, , ,
__code_adt_ba_priority_queue_head = $8347 ; const, public, def, , ,
__code_adt_ba_priority_queue_tail = $8347 ; const, public, def, , ,
__code_adt_ba_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_ba_stack_head        = $8347 ; const, public, def, , ,
__code_adt_ba_stack_tail        = $8347 ; const, public, def, , ,
__code_adt_ba_stack_size        = $0000 ; const, public, def, , ,
__code_adt_bv_priority_queue_head = $8347 ; const, public, def, , ,
__code_adt_bv_priority_queue_tail = $8347 ; const, public, def, , ,
__code_adt_bv_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_bv_stack_head        = $8347 ; const, public, def, , ,
__code_adt_bv_stack_tail        = $8347 ; const, public, def, , ,
__code_adt_bv_stack_size        = $0000 ; const, public, def, , ,
__code_adt_p_forward_list_head  = $8347 ; const, public, def, , ,
__code_adt_p_forward_list_tail  = $8347 ; const, public, def, , ,
__code_adt_p_forward_list_size  = $0000 ; const, public, def, , ,
__code_adt_p_forward_list_alt_head = $8347 ; const, public, def, , ,
__code_adt_p_forward_list_alt_tail = $8347 ; const, public, def, , ,
__code_adt_p_forward_list_alt_size = $0000 ; const, public, def, , ,
__code_adt_p_list_head          = $8347 ; const, public, def, , ,
__code_adt_p_list_tail          = $8347 ; const, public, def, , ,
__code_adt_p_list_size          = $0000 ; const, public, def, , ,
__code_adt_p_queue_head         = $8347 ; const, public, def, , ,
__code_adt_p_queue_tail         = $8347 ; const, public, def, , ,
__code_adt_p_queue_size         = $0000 ; const, public, def, , ,
__code_adt_p_stack_head         = $8347 ; const, public, def, , ,
__code_adt_p_stack_tail         = $8347 ; const, public, def, , ,
__code_adt_p_stack_size         = $0000 ; const, public, def, , ,
__code_adt_w_array_head         = $8347 ; const, public, def, , ,
__code_adt_w_array_tail         = $8347 ; const, public, def, , ,
__code_adt_w_array_size         = $0000 ; const, public, def, , ,
__code_adt_w_vector_head        = $8347 ; const, public, def, , ,
__code_adt_w_vector_tail        = $8347 ; const, public, def, , ,
__code_adt_w_vector_size        = $0000 ; const, public, def, , ,
__code_adt_wa_priority_queue_head = $8347 ; const, public, def, , ,
__code_adt_wa_priority_queue_tail = $8347 ; const, public, def, , ,
__code_adt_wa_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_wa_stack_head        = $8347 ; const, public, def, , ,
__code_adt_wa_stack_tail        = $8347 ; const, public, def, , ,
__code_adt_wa_stack_size        = $0000 ; const, public, def, , ,
__code_adt_wv_priority_queue_head = $8347 ; const, public, def, , ,
__code_adt_wv_priority_queue_tail = $8347 ; const, public, def, , ,
__code_adt_wv_priority_queue_size = $0000 ; const, public, def, , ,
__code_adt_wv_stack_head        = $8347 ; const, public, def, , ,
__code_adt_wv_stack_tail        = $8347 ; const, public, def, , ,
__code_adt_wv_stack_size        = $0000 ; const, public, def, , ,
__code_alloc_balloc_head        = $8347 ; const, public, def, , ,
__code_alloc_balloc_tail        = $8347 ; const, public, def, , ,
__code_alloc_balloc_size        = $0000 ; const, public, def, , ,
__code_alloc_obstack_head       = $8347 ; const, public, def, , ,
__code_alloc_obstack_tail       = $8347 ; const, public, def, , ,
__code_alloc_obstack_size       = $0000 ; const, public, def, , ,
__code_arch_head                = $8347 ; const, public, def, , ,
__code_arch_tail                = $8347 ; const, public, def, , ,
__code_arch_size                = $0000 ; const, public, def, , ,
__code_font_head                = $8347 ; const, public, def, , ,
__code_font_tail                = $8347 ; const, public, def, , ,
__code_font_size                = $0000 ; const, public, def, , ,
__code_font_fzx_head            = $8347 ; const, public, def, , ,
__code_font_fzx_tail            = $8347 ; const, public, def, , ,
__code_font_fzx_size            = $0000 ; const, public, def, , ,
__code_z80_head                 = $8347 ; const, public, def, , ,
__code_z80_tail                 = $8347 ; const, public, def, , ,
__code_z80_size                 = $0000 ; const, public, def, , ,
__code_user_head                = $8347 ; const, public, def, , ,
__code_user_tail                = $8347 ; const, public, def, , ,
__code_user_size                = $0000 ; const, public, def, , ,
__rodata_fp_head                = $8347 ; const, public, def, , ,
__rodata_fp_tail                = $8347 ; const, public, def, , ,
__rodata_fp_size                = $0000 ; const, public, def, , ,
__rodata_compiler_head          = $8347 ; const, public, def, , ,
__rodata_compiler_tail          = $8347 ; const, public, def, , ,
__rodata_compiler_size          = $0000 ; const, public, def, , ,
__rodata_clib_head              = $8347 ; const, public, def, , ,
__rodata_clib_tail              = $86A4 ; const, public, def, , ,
__rodata_clib_size              = $035D ; const, public, def, , ,
__rodata_user_head              = $86A4 ; const, public, def, , ,
__rodata_user_tail              = $86A4 ; const, public, def, , ,
__rodata_user_size              = $0000 ; const, public, def, , ,
__rodata_font_head              = $86A4 ; const, public, def, , ,
__rodata_font_tail              = $86A4 ; const, public, def, , ,
__rodata_font_size              = $0000 ; const, public, def, , ,
__rodata_font_fzx_head          = $86A4 ; const, public, def, , ,
__rodata_font_fzx_tail          = $86A4 ; const, public, def, , ,
__rodata_font_fzx_size          = $0000 ; const, public, def, , ,
__rodata_font_4x8_head          = $86A4 ; const, public, def, , ,
__rodata_font_4x8_tail          = $86A4 ; const, public, def, , ,
__rodata_font_4x8_size          = $0000 ; const, public, def, , ,
__rodata_font_8x8_head          = $86A4 ; const, public, def, , ,
__rodata_font_8x8_tail          = $86A4 ; const, public, def, , ,
__rodata_font_8x8_size          = $0000 ; const, public, def, , ,
__ROMABLE_END_head              = $86A4 ; const, public, def, , ,
__ROMABLE_END_tail              = $86A4 ; const, public, def, , ,
__ROMABLE_END_size              = $0000 ; const, public, def, , ,
__DATA_head                     = $86A4 ; const, public, def, , ,
__DATA_tail                     = $86A4 ; const, public, def, , ,
__DATA_size                     = $0000 ; const, public, def, , ,
__smc_clib_head                 = $86A4 ; const, public, def, , ,
__smc_clib_tail                 = $86A4 ; const, public, def, , ,
__smc_clib_size                 = $0000 ; const, public, def, , ,
__smc_user_head                 = $86A4 ; const, public, def, , ,
__smc_user_tail                 = $86A4 ; const, public, def, , ,
__smc_user_size                 = $0000 ; const, public, def, , ,
__data_clib_head                = $86A4 ; const, public, def, , ,
__data_clib_tail                = $86AF ; const, public, def, , ,
__data_clib_size                = $000B ; const, public, def, , ,
__data_stdlib_head              = $86AF ; const, public, def, , ,
__data_stdlib_tail              = $86AF ; const, public, def, , ,
__data_stdlib_size              = $0000 ; const, public, def, , ,
__data_crt_head                 = $86AF ; const, public, def, , ,
__data_crt_tail                 = $86AF ; const, public, def, , ,
__data_crt_size                 = $0000 ; const, public, def, , ,
__data_compiler_head            = $86AF ; const, public, def, , ,
__data_compiler_tail            = $86AF ; const, public, def, , ,
__data_compiler_size            = $0000 ; const, public, def, , ,
__data_user_head                = $86AF ; const, public, def, , ,
__data_user_tail                = $86AF ; const, public, def, , ,
__data_user_size                = $0000 ; const, public, def, , ,
__data_alloc_balloc_head        = $86AF ; const, public, def, , ,
__data_alloc_balloc_tail        = $86AF ; const, public, def, , ,
__data_alloc_balloc_size        = $0000 ; const, public, def, , ,
__DATA_END_head                 = $86AF ; const, public, def, , ,
__DATA_END_tail                 = $86AF ; const, public, def, , ,
__DATA_END_size                 = $0000 ; const, public, def, , ,
__BSS_head                      = $86AF ; const, public, def, , ,
__BSS_tail                      = $86AF ; const, public, def, , ,
__BSS_size                      = $0000 ; const, public, def, , ,
__bss_fp_head                   = $86AF ; const, public, def, , ,
__bss_fp_tail                   = $86AF ; const, public, def, , ,
__bss_fp_size                   = $0000 ; const, public, def, , ,
__bss_error_head                = $86AF ; const, public, def, , ,
__bss_error_tail                = $86AF ; const, public, def, , ,
__bss_error_size                = $0000 ; const, public, def, , ,
__bss_crt_head                  = $86AF ; const, public, def, , ,
__bss_crt_tail                  = $8718 ; const, public, def, , ,
__bss_crt_size                  = $0069 ; const, public, def, , ,
__bss_fardata_head              = $8718 ; const, public, def, , ,
__bss_fardata_tail              = $8718 ; const, public, def, , ,
__bss_fardata_size              = $0000 ; const, public, def, , ,
__bss_compiler_head             = $8718 ; const, public, def, , ,
__bss_compiler_tail             = $8718 ; const, public, def, , ,
__bss_compiler_size             = $0000 ; const, public, def, , ,
__bss_clib_head                 = $8718 ; const, public, def, , ,
__bss_clib_tail                 = $8721 ; const, public, def, , ,
__bss_clib_size                 = $0009 ; const, public, def, , ,
__bss_string_head               = $8721 ; const, public, def, , ,
__bss_string_tail               = $8721 ; const, public, def, , ,
__bss_string_size               = $0000 ; const, public, def, , ,
__bss_alloc_balloc_head         = $8721 ; const, public, def, , ,
__bss_alloc_balloc_tail         = $8721 ; const, public, def, , ,
__bss_alloc_balloc_size         = $0000 ; const, public, def, , ,
__bss_user_head                 = $8721 ; const, public, def, , ,
__bss_user_tail                 = $8721 ; const, public, def, , ,
__bss_user_size                 = $0000 ; const, public, def, , ,
__BSS_END_head                  = $8721 ; const, public, def, , ,
__BSS_END_tail                  = $8721 ; const, public, def, , ,
__BSS_END_size                  = $0000 ; const, public, def, , ,
__BANK_0_head                   = $C000 ; const, public, def, , ,
__BANK_0_tail                   = $C000 ; const, public, def, , ,
__BANK_0_size                   = $0000 ; const, public, def, , ,
__BANK_1_head                   = $C000 ; const, public, def, , ,
__BANK_1_tail                   = $C000 ; const, public, def, , ,
__BANK_1_size                   = $0000 ; const, public, def, , ,
__BANK_2_head                   = $C000 ; const, public, def, , ,
__BANK_2_tail                   = $C000 ; const, public, def, , ,
__BANK_2_size                   = $0000 ; const, public, def, , ,
__BANK_3_head                   = $C000 ; const, public, def, , ,
__BANK_3_tail                   = $C000 ; const, public, def, , ,
__BANK_3_size                   = $0000 ; const, public, def, , ,
__BANK_4_head                   = $C000 ; const, public, def, , ,
__BANK_4_tail                   = $C000 ; const, public, def, , ,
__BANK_4_size                   = $0000 ; const, public, def, , ,
__BANK_5_head                   = $C000 ; const, public, def, , ,
__BANK_5_tail                   = $C000 ; const, public, def, , ,
__BANK_5_size                   = $0000 ; const, public, def, , ,
__BANK_6_head                   = $C000 ; const, public, def, , ,
__BANK_6_tail                   = $C000 ; const, public, def, , ,
__BANK_6_size                   = $0000 ; const, public, def, , ,
__BANK_7_head                   = $C000 ; const, public, def, , ,
__BANK_7_tail                   = $C000 ; const, public, def, , ,
__BANK_7_size                   = $0000 ; const, public, def, , ,
alvin
Well known member
Posts: 1872
Joined: Mon Jul 16, 2007 7:39 pm

Post by alvin »

I can now reproduce this bug. It is only happening when using sccz80 as compiler and I'm not sure why yet.

test.c

Code: Select all

void main(void)
{
__asm
ici: 
    DEFC toto = ici %8
__endasm;
}
FYI, "#asm" and "#endasm" are deprecated in favour of the inlining as shown above because the hash versions dot work with zsdcc.

zsdcc compile:
zcc +zx -vn -clib=sdcc_iy -m --list test.c -o test

map file:

Code: Select all

ici                             = $8C45 ; addr, local, , test_c, code_compiler, test.c:245
toto                            = $0005 ; addr, local, , test_c, code_compiler, test.c:246
sccz80 compile:
zcc +zx -vn -clib=new -m --list test.c -o test

map file:

Code: Select all

ici                             = $8C46 ; addr, local, , test_c, code_compiler, test.c:21
toto                            = $8C46 ; addr, local, , test_c, code_compiler, test.c:22
The same is happening for the classic library. zsdcc compile works, sccz80 does not:

zcc +zx -lndos -m --list test.c -o test.bin ;; does not work
zcc +zx -lndos -m --list test.c -o test.bin -compiler=sdcc ;; does work

This will be a bug in the assembler but I can't see any material difference in the translated asm. I'll open an issue at github shortly.
alvin
Well known member
Posts: 1872
Joined: Mon Jul 16, 2007 7:39 pm

Post by alvin »

The sccz80-produced asm contains a second module directive and I'm guessing this is an issue in z80asm atm. Multiple module directives is treated specially now as its complete functionality is not implemented yet.

https://github.com/z88dk/z88dk/issues/885
alvin
Well known member
Posts: 1872
Joined: Mon Jul 16, 2007 7:39 pm

Post by alvin »

It's fixed in the Aug 23 build.

Thanks for finding this one - I don't normally inline code in c so I probably never would have come across it.
joaopa
Member
Posts: 46
Joined: Sat Mar 15, 2014 5:42 pm

Post by joaopa »

Tested and approved :D

Thanks for the great job.
Post Reply