Visual C++에서 인라인 어셈블리를 사용하고 있으며 내 프로그램에서 int 21h를 사용하기 위해 며칠 동안 노력했습니다. 다른 인터럽트 작업 (int 3)은 내가 21h를 잘못 호출했거나 어떻게 든 차단되었다고 믿게합니다. int 21h를 사용할 때만 런타임 오류가 발생합니다. 만약 내가 그것을 주석 잘 레지스터를 이동할 수 있습니다.인라인 어셈블리에서 int 21h 사용
지금까지 나는이 함께 왔 :
는int _tmain(int argc, _TCHAR* argv[])
{
__asm {
mov ah, 1h
int 21h
mov dl, al
mov ah, 2h
int 21h
}
}
아마 세그 폴트입니다. 내가 알고있는 한 32 비트 응용 프로그램에서는 int를 사용할 수 없습니다. – BlackBear
다른 인터럽트도 작동합니다. int 3은 오류없이 중단 점을 성공적으로 만듭니다. 문제가있는 것만이 int 21h입니다. – ozdrgnaDiies
어떤 종류의 프로그램입니까? Int21h는 DOS 인터럽트입니다. –