It does not depend on the memory type. ; main.c:5: uint64_t fr=1e18; clr a mov _fr,a mov (_fr + 1),a mov (_fr + 2),#0x64 mov (_fr + 3),#0xa7 mov (_fr + 4),a mov (_fr + 5),a mov (_fr + 6),a mov (_fr + 7),a ; main.c:6: uint64_t ir=1000000000000000000; mov _ir,a mov (_ir + 1),a mov (_ir + 2),#0x64 mov (_ir + 3),#0xa7 mov (_ir + 4),#0xb3 mov (_ir + 5),#0xb6 mov (_ir + 6),#0xe0 mov (_ir + 7),#0x0d f: .byte #0x00, #0x00, #0x64, #0xa7, #0x00, #0x00, #0x00, #0x00 _i: .byte #0x00, #0x00, #0x64, #0xa7, #0xb3,...
It does not depend on the memory type. ; main.c:5: uint64_t fr=1e18; clr a mov _fr,a mov (_fr + 1),a mov (_fr + 2),#0x64 mov (_fr + 3),#0xa7 mov (_fr + 4),a mov (_fr + 5),a mov (_fr + 6),a mov (_fr + 7),a ; main.c:6: uint64_t ir=1000000000000000000; mov _ir,a mov (_ir + 1),a mov (_ir + 2),#0x64 mov (_ir + 3),#0xa7 mov (_ir + 4),#0xb3 mov (_ir + 5),#0xb6 mov (_ir + 6),#0xe0 mov (_ir + 7),#0x0d _f: .byte #0x00, #0x00, #0x64, #0xa7, #0x00, #0x00, #0x00, #0x00 _i: .byte #0x00, #0x00, #0x64, #0xa7, #0xb3,...
sdcc-20240803-14932-setup.exe: _f: .byte #0x00, #0x00, #0x64, #0xa7, #0x00, #0x00, #0x00, #0x00 _i: .byte #0x00, #0x00, #0x64, #0xa7, #0xb3, #0xb6, #0xe0, #0x0d sdcc-20240804-14932-x64-setup.exe: _f: .byte #0x00, #0x00, #0x64, #0xa7, #0x00, #0x00, #0x00, #0x00 _i: .byte #0x00, #0x00, #0x64, #0xa7, #0xb3, #0xb6, #0xe0, #0x0d
Unfortunately, until you publish version 4.4.1, I have to use version 4.4.0 . I admit that in the latest version many things have already been fixed... Sorry for the inconvenience.
Crash sdar8051
Using mcs51-disasm.pl with complex header files
sdcc -v SDCC : mcs51/z80/z180/r2k/r2ka/r3ka/sm83/tlcs90/ez80_z80/z80n/r800/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15/mos6502/mos65c02 TD- 4.4.0 #14620 (MINGW64) published under GNU General Public License (GPL)
Bad optimization of condition handling