/* * getchar — через ESTEX RST 10h. * * ESTEX 0x30 (WAITKEY): блокируется до нажатия клавиши, возвращает * A = скан-код, D = позиционный код, E = ASCII, * C = флаги режима, B = флаги шифтов. * * IX сохраняется (RST 10h его клобберит; для вызывающего это frame * pointer). */ #include int getchar(void) __naked { __asm push ix ld c, #0x30 ; ESTEX WAITKEY rst #0x10 pop ix ld d, #0 ret __endasm; }