Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2633] [문의] void interrupt 처리 관련
이민재 [mjlee2k] 1216 읽음    2003-05-20 13:26
안녕하십니까 !!

이제는 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 루틴이 종료 되면서 이전 레지스터 값으로 복원을 합니다.

그래서 호출한 쪽에서는 전혀 변경된 인터럽트 내용을 받을수가 없는데...

뭔가를 수정하면... 리턴될때 복원되는 레지스터 값도 변경시킬수 있다고 하는데..

어떻게 해야...  원하는 인터럽트 레지스터의 내용을 받을수 있을까요 ??


꼭 답변 바랍니다...

즐거운 하루 되시기 바랍니다.


+ -

관련 글 리스트
2633 [문의] void interrupt 처리 관련 이민재 1216 2003/05/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.