2015년 6월 28일 일요일

AT-BIOS Interrupt

Read/Write Disk


디스크로부터 읽기, 디스크에 쓰기, 섹터의 검사(verify) 및 찾기
  • AH = 0x02 (읽을 때)
  • AH = 0x03 (쓸 때)
  • AH = 0x04 (검사할 때)
  • AH = 0x0C (찾기 할 때)

  • AL = 처리할 섹터 수 (연속된 섹터 처리 가능)
  • CH = [실린더 번호] & 0xFF
  • CL = [섹터 번호 (bit 0-5)] | ([실린더 번호] & 0x300) >> 2
  • DH = 헤드 번호
  • DL = 드라이브 번호
  • ES:BX = 버퍼 어드레스 (검사 혹은 찾기를 할 때에는 이 값을 참조하지 않음)

  • 반환 값: (JNC 명령으로 체크)
  • FLAGS.CF == 0 : 에러 없음, AH == 0
  • FLAGS.CF == 1 : 에러 있음, AH에 에러 코드 (리셋 기능과 같음) 



댓글 없음: