BIOS Interrupt 10H

대문 / 프로그래밍 / BIOS Interrupt 10H

BIOS Interrupt 10H

1.1. 시작하기전에

BIOS Interrupt 10H는 Video와 관련된 기능을 수행하는 기능을 주로 수행합니다. 여기서는 이 기능을 사용하기 위한 호출방법에 대하여 정리합니다.

Interrupt 10H에는 Video와 관련한 수많은 기능이 있는데 AH register에 해당 기능에 해당하는 기능번호를 저장하고 관련하여 추가적으로 필요한 인자들을 다른 register들에 저장한후 Interrupt 10H를 호출하여 해당 기능의 결과를 얻게 됩니다.

1.2. 비디오 모드를 설정 (AH=00H)

  • 설명 : 지정한 비디오 모드로 설정합니다.
  • 호출
    AH = 00H
    AL = 비디오 모드 번호
    

1.3. 커서의 모양 설정 (AH=01H)

  • 설명 : 커서의 굵기나 속성을 설정합니다.
  • 호출
    AH = 01H
    CH = bit 0~4 : 커서의 시작행
         bit 5~6 : 커서의 속성
         bit 7 : (예약)
    CL = bit 0~4 : 커서의 끝행
         bit 5~7 : (예약)
    
  • 커서의 속성 (비디오 어뎁터의 종류에 따라서 속성이 다릅니다.)
    비디오 어뎁터 커서의 속성
    CGA, Mono 00b = 보통, 01b = 안보임, 10b = 느리게, 11b = 빠르게
    EGA, VGA 00b = 보통, 01b = 안보임, 10b = 안보임, 11b = 안보임

1.4. 커서위치 설정 (AH=02H)

  • 설명 : 지정한 비디오 페이지의 커서위치를 설정합니다.
  • 호출
    AH = 02H
    DH = 커서의 Y 좌표
    DL = 커서의 X 좌표
    BH = 비디오 페이지 번호
    

1.5. 커서위치 및 모양 질의 (AH=03H)

  • 설명 : 지정한 비디오 페이지의 커서위치와 모양에 대한 정보를 얻습니다.
  • 호출
    AH = 03H
    BH = 비디오 페이지 번호
    
  • 반환
    DH = 커서의 Y 좌표
    DL = 커서의 X 좌표
    CH = bit 0~4 : 커서의 시작행
         bit 5~6 : 커서의 속성
         bit 7 : (예약)
    CL = bit 0~4 : 커서의 끝행
         bit 5~7 : (예약)
    

1.6. Light-pen의 위치정보 및 상태질의 (AH=04H)

  • 설명 : Light-pen의 위치정보와 상태에 대한 정보를 얻습니다.
  • 호출
    AH = 04H
    
  • 반환
    AH = 상태 (00H = Lignt-pen의 스위치가 작동중이 아님, 01H = Light-pen의 스위치가 작동중)
    DH = Light-pen의 행 (0~24)
    DL = Light-pen의 열 (0~39 또는 0~70)
    CH = 픽셀의 행 (Rester line) 값 (0~199) (EGA, 낮은 그래픽 모드)
    CX = 픽셀의 행 (Rester line) 값 (0~???) (EGA, 높은 그래픽 모드)
    BX = 픽셀의 열 (Pixel columns) 값 (0~319 또는 0~639)
    

1.7. 비디오 페이지를 설정 (AH=05H)

  • 설명 : 지정한 비디오 페이지로 설정합니다.
  • 호출
    AH = 05H
    AL = 비디오 페이지 번호
    

1.8. 위로 화면 스크롤 (AH=06H)

  • 설명 : 지정한 화면영역을 위로 스크롤합니다.
  • 호출
    AH = 06H
    AL = 스크롤 행수 (0인 경우 전체 스크롤하여 화면을 지우는 효과)
    BH = 빈 공간에 채워질 문자속성 (그래픽 모드에서는 색상)
    CH = 화면의 제일 위쪽 행 (Top)
    CL = 화면의 제일 왼쪽 열 (Left)
    DH = 화면의 제일 아래쪽 행 (Bottom)
    DL = 화면의 제일 오른쪽 열 (Right)
    

1.9. 아래로 화면 스크롤 (AH=07H)

  • 설명 : 지정한 화면영역을 아래로 스크롤합니다.
  • 호출
    AH = 07H
    AL = 스크롤 행수 (0인 경우 전체 스크롤하여 화면을 지우는 효과)
    BH = 빈 공간에 채워질 문자속성 (그래픽 모드에서는 색상)
    CH = 화면의 제일 위쪽 행 (Top)
    CL = 화면의 제일 왼쪽 열 (Left)
    DH = 화면의 제일 아래쪽 행 (Bottom)
    DL = 화면의 제일 오른쪽 열 (Right)
    

1.10. 커서위치의 문자속성 질의 (AH=08H)

  • 설명 : 지정한 비디오 페이지에서의 커서위치에 있는 문자의 속성을 얻습니다. (그래픽 모드인 경우는 색상값)
  • 호출
    AH = 08H
    BH = 비디오 페이지 번호
    
  • 반환
    AL = 커서위치의 문자 ASCII값
    AH = 커서위치의 문자속성 (그래픽 모드인 경우는 색상값)
    

1.11. 커서위치에 문자 및 속성 출력 (AH=09H)

  • 설명 : 지정한 비디오 페이지에서의 커서위치에 문자와 속성을 출력합니다. (그래픽 모드인 경우는 색상값)
  • 호출
    AH = 09H
    AL = ASCII값
    BH = 비디오 페이지 번호
    BL = 문자속성 (그래픽 모드인 경우는 색상값)
    CX = 출력할 문자수
    

1.12. 커서위치에 문자 출력 (AH=0AH)

  • 설명 : 지정한 비디오 페이지에서의 커서위치에 문자를 출력합니다.
  • 호출
    AH = 0AH
    AL = ASCII값
    BH = 비디오 페이지 번호
    BL = 문자속성 (그래픽 모드나 PCjr에서만 유효하며 최상위 bit 7위치의 값이 1인 경우에는 XOR로 출력)
    CX = 출력할 문자수
    

1.13. 4색 팔레트 색상군 및 바탕색 설정 (AH=0BH)

  • 설명 : 4색 팔레트 색상군 및 바탕색 설정합니다. (CGA호환)
  • 호출
    AH = 0BH
    BH = 0 인경우 주변색과 바탕색을 선택
      BL = 주변색 (0~15) (텍스트 모드)
           주변색과 바탕색 (그래픽 모드)
    BH = 1 인경우 4색 팔레트 색상군 선택
      BL = 팔레트 번호 (0=320x200 4색 그래픽 모드, 1=4색 팔레트 색상군)  
    
  • 색상군 내용
    0 1=녹색, 2=빨간색, 3=노란색
    1 1=하늘색, 2=보라색, 3=흰색

1.14. 지정 위치에 점을 출력 (AH=0CH)

  • 설명 : 지정한 위치에 점(Pixel)을 출력합니다.
  • 호출
    AH = 0CH
    AL = 색상번호
    BH = 페이지 번호
    CX = X좌표
    DX = Y좌표
    

1.15. 지정 위치의 점을 질의 (AH=0DH)

  • 설명 : 지정한 위치의 점(Pixel)의 색상번호를 얻습니다.
  • 호출
    AH = 0DH
    BH = 페이지 번호
    CX = X좌표
    DX = Y좌표
    
  • 반환
    AL = 읽은 점의 색상 번호
    

1.16. 지정한 페이지의 커서위치에 TTY(Teletype mode)식 문자출력 (AH=0EH)

  • 설명 : 지정한 페이지의 커서위치에 TTY(Teletype mode)식 문자출력합니다.
  • 호출
    AH = 0EH
    AL = 문자 ASCII code
    BH = 페이지 번호
    BL = 문자의 색 (그래픽 모드)
    

1.17. 비디오 모드 및 화면상태 질의 (AH=0FH)

  • 설명 : 현재 비디오 모드 및 화면의 상태를 구합니다.
  • 호출
    AH = 0FH
    
  • 반환
    AH = 현재 화면의 문자열수
    AL = 현재 화면의 비디오 모드
    BH = 현재 사용중인 페이지 번호
    
Retrieved from https://www.minzkn.com:443/moniwiki/wiki.php/BIOSInterrupt10H
last modified 2024-05-17 23:26:16