/* * bios_clearwin_ch — залить окно (row, col, height, width) символом * fillch с атрибутом attr. BIOS LP_CLS_WIN2 ($8D, rst 8): D=row, * E=col, H=height, L=width, B=attr, A=fillch. */ #include void bios_clearwin_ch(uint8_t row, uint8_t col, uint8_t height, uint8_t width, uint8_t attr, char fillch) __naked { (void)row; (void)col; (void)height; (void)width; (void)attr; (void)fillch; __asm ;; row→A, col→L, height/width/attr/fillch на стеке [SP+2..5]. ld iy, #2 add iy, sp ld d, a ; D = row (освободить A под fillch) ld e, l ; E = col (освободить L под width) ld h, 0 (iy) ; H = height ld c, 1 (iy) ; спрятать width ld b, 2 (iy) ; B = attr ld a, 3 (iy) ; A = fillch ld l, c ; L = width push ix ld c, #0x8D rst #0x08 pop ix pop hl inc sp inc sp inc sp inc sp ; съесть height + width + attr + fillch jp (hl) __endasm; }