{$A+,B-,D-,E+,F-,G-,I+,L-,N-,O-,R-,S-,V-,X-} {$M 16384,0,0} {Autor: Martin Mhlhaus} UNIT BiosIO; INTERFACE PROCEDURE ClrScr; PROCEDURE GotoXY(X, Y: BYTE); FUNCTION WhereX: BYTE; FUNCTION WhereY: BYTE; FUNCTION KeyPressed: BOOLEAN; FUNCTION ReadKey: CHAR; PROCEDURE WriteCh(z: CHAR; w: WORD); IMPLEMENTATION PROCEDURE ClrScr; BEGIN asm mov ah,$06 mov al,0 mov bh,7 mov ch,0 mov cl,0 mov dh,24 mov dl,79 int $10 end; gotoxy(1,1); END; PROCEDURE GotoXY(X, Y: BYTE); assembler; asm mov ah,$02 mov bh,0 mov dh,y mov dl,x dec dh dec dl int $10 end; FUNCTION WhereX: BYTE; assembler; asm mov ah,$03 mov bh,0 int $10 mov al,dl inc al end; FUNCTION WhereY: BYTE; assembler; asm mov ah,$03 mov bh,0 int $10 mov al,dh inc al end; FUNCTION KeyPressed: BOOLEAN; assembler; asm mov ah,$0b int $21 cmp al,$00 {0 als Ergebnis?} je @ende {ja, dann zum ende} mov al,$01 @ende: end; FUNCTION ReadKey: CHAR; assembler; asm mov ah,$07 int $21 end; PROCEDURE WriteCh(z: CHAR; w: WORD); assembler; asm mov ah,$0a mov al,z mov bh,0 mov cx,w int $10 end; END.