/*
 * hex16 — печать uint16 всегда четырьмя hex-цифрами ("0000".."FFFF"):
 * два вызова hex8 (старший байт call, младший — tail-call jp).
 * Кросс-модульные переходы по имени функции — работают через линкер.
 */

#include <stdio.h>
#include <stdint.h>

void hex16(uint16_t v) __naked
{
    (void)v;
    __asm
        ;; HL = v на входе.
        ld    a, h
        push  hl
        call  _hex8
        pop   hl
        ld    a, l
        jp    _hex8                ; tail-call
    __endasm;
}
