 | 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
carattere prelevato dalla memoria viene lasciato a
disposizione del Pascal in forma char |
Codice Sorgente |
|
 |
 |
 |
FUNCTION ChrFind
(col,rig:integer):char;
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
MOV AL,ES:[DI]
MOV depo,AL
POP ES
POP DI
end;
ChrFind:=depo;
END;
|
|