| La procedura
è parzialmente scritta in linguaggio
Assembly. E' probabile che il lettore, in questo momento, non sia in possesso delle
conoscenze di base della programmazione a basso
livello, per cui questa pagina pụ risultare
incomprensibile; desidero fornirtela comunque, come stimolo per approfondire questa potente tecnica di programmazione
(vedi Sezione
Tutorial Assembly).
| La
funzione lavora direttamente in
Ram Video; per questo è efficiente e veloce |
| Il
codice di colore prelevato dalla memoria viene lasciato a
disposizione del Pascal in forma
byte |
Codice Sorgente |
|
|
|
|
FUNCTION
AttrFind
(col,rig:integer):byte;
VAR indirizzo: WORD;
depo: CHAR;
BEGIN
indirizzo:= (Col-1)*2+(Rig-1)*160;
asm
PUSH ES
PUSH DI
MOV AX,0B800H
MOV ES,AX
MOV DI,indirizzo
INC DI
MOV AL,ES:[DI]
MOV depo,AL
POP ES
POP DI
end;
AttrFind:= ord(depo);
END; |
|