안녕하십니까 !!
이제는 DOS에 관련된 부분을 여쭐수 있는곳이 없어서... 이곳에 글을 올립니다.
DOS쪽에 개발해야할 부분이 있어서 어쩔수 없이 DOS 인터럽트로 하는데...
static char TEST_OK[] = "OK";
void interrupt handler(...)
{
if ( _AX == 0 )
{
_ES = FP_SEG(TEST_OK);
_BX = FP_OFF(TEST_OK);
}
}
위와 같이 하였는데... 문제는 _ES, _BX가 루틴 내에서는 맞게 변경이 되었으나
void interrupt 루틴이 종료 되면서 이전 레지스터 값으로 복원을 합니다.
그래서 호출한 쪽에서는 전혀 변경된 인터럽트 내용을 받을수가 없는데...
뭔가를 수정하면... 리턴될때 복원되는 레지스터 값도 변경시킬수 있다고 하는데..
어떻게 해야... 원하는 인터럽트 레지스터의 내용을 받을수 있을까요 ??
꼭 답변 바랍니다...
즐거운 하루 되시기 바랍니다.
|