OS

어셈블리에서의 인터럽트

라부송 2019. 9. 25. 16:26

어셈블리에서는 INT 21H를 사용하여 DOS의 내부 함수를 호출할 수 있다. : DOS Function Call

INT 21H는 AH 레지스터 값에 의해 무슨 함수를 불러올지 판단한다.

 

 

AH 설명
0 프로그램 종료
01 

한 문자 입력받고 한 문자 출력

AL 레지스터로 8비트 문자 리턴

02 한 문자 출력, DL 레지스터로 8비트 문자 리턴
03 보조 장치에서 한 문자 읽음, AL 레지스터로 리턴
04 보조 장치에 한 문자 출력, DL 레지스터에 저장
05 프린터로 한 문자 출력, DL 레지스터에 저장
06

콘솔장치에 문자 입출력

입력 - DL 레지스터, 출력 - AL 레지스터

07  한 문자 입력, AL 레지스터로 리턴 ( 브레이크 감지 x )
08 위와 동일 ( 브레이크 감지 o ) 
09

문자열 출력

DS:DX = 문자열세그먼트:문자열오프셋

0A

버퍼화된 문자열 출력

DS:DX = 버퍼의 세그먼트:버퍼의오프셋

0B

문자열 입력 상태 검사

AL = 0xFF : 입력된 문자 있음

AL = 0x00 : 입력된 문자 없음

0C

입력 버퍼 지우고 한 문자/문자열 입력 받음

 

 

참고한 링크

https://beomnaegol.tistory.com/entry/Assembly-%EC%9D%B8%ED%84%B0%EB%9F%BD%ED%8A%B8%EC%9D%98-%EC%A2%85%EB%A5%98%EC%99%80-%EA%B8%B0%EB%8A%A5INT-21H