/*
 * bios_write — вывести len символов строки s (атрибут не трогается).
 * BIOS LP_PRINT_LN2 ($86, rst 8): HL=s, B=len.  Place продвигается.
 * s должен лежать в #4000-#BFFF.
 */

#include <bios/text.h>

void bios_write(const char *s, uint8_t len) __naked
{
    (void)s; (void)len;
    __asm
        ;; s→HL, len на стеке [SP+2].
        ld    iy, #2
        add   iy, sp
        ld    b, 0 (iy)             ; B = len
        push  ix
        ld    c, #0x86
        rst   #0x08
        pop   ix
        pop   hl
        inc   sp
        jp    (hl)
    __endasm;
}
