Если компилер жив и если стиль работы над ним таков же - ошибки будут, куда деваться.
Скорость не страдает! Размер выигрывает! 185 байт, кто меньше?
Код:
_main_start::
_main:
;ASCII.c:20: ASCII_n = 96;
ld hl,#_ASCII_n + 0
ld (hl), #0x60
;ASCII.c:21: do {
00101$:
;ASCII.c:22: Console_WriteCh((CHAR)((96 - ASCII_n) + 32));
ld hl,#_ASCII_n
ld a,#0x80
sub a, (hl)
push af
inc sp
call _Console_WriteCh_ROM
inc sp
;ASCII.c:23: ASCII_n -= 1;
ld iy,#_ASCII_n
dec 0 (iy)
;ASCII.c:24: } while (!(ASCII_n == 0));
ld a,(#_ASCII_n + 0)
or a, a
jr NZ,00101$
;ASCII.c:25: __FINI;
ret
_main_end::
( что менял? добавил опцию --no-std-crt0, убрал в конце return 0 в пользу return; --oldralloc убрал тоже - не всегда помогает )
Итого: бинарь ASCII.bin = 47 байт. И это, заметьте, для тех, кто может не знать асма. Воистину: ZXDev - кладезь неисчерпаемых возможностей.