・B_READID IOCS 콜 번호 : $4A
$4A B_READID는 Ver 1.0 매뉴얼에는 설명이 나오지만, Ver 2.0 매뉴얼에서는 삭제되었다. 따라서 Ver 1.0 매뉴얼의 내용을 기준으로 설명한다.

기능
ID 정보의 읽기 (2HD만)
입력
D0.L = $4A IOCS 콜 번호
D1.W PDA 또는 MODE
D2.L ID 읽기 대상이 되는 트랙 위치
리턴
D0.L 스테이터스
비트 31 ~ 24 ST0 = 리절트 스테이터스 0
23 ~ 16 ST1 = 리절트 스테이터스 1
15 ~ 8 ST2 = 리절트 스테어터스 2
7 ~ 0 C = 실린더 번호
D2.L 읽은 ID ( 섹터 길이 : 트랙 : 사이드 : 섹터 )
비트 31 ~ 24 섹터 길이
23 ~ 16 트랙
15 ~ 8 사이드
7 ~ 0 섹터
해설
2HD 디스크의 ID 정보를 읽습니다.
입력의 D1.W($9???)의 상세에 대해서는 IOCS 콜 $40(2HD)를 참조해 주세요.
입력의 D2.L은 ID 읽기 대상이 되는 트랙 위치를 지정합니다. 내용은 다음과 같습니다.
D31 D30 D29 D28 D27 D26 D25 D24 | D23 D22 D21 D20 D19 D18 D17 D16
0 | 트랙
D15 D14 D13 D12 D11 D10 D09 D08 | D07 D06 D05 D04 D03 D02 D01 D00
사이드 | 0
프로그램 예
******************************************
** B_READID $4A
******************************************
.include iocscall.mac
.include doscall.mac
iocs equ $0f
.
.
moveq.l #_B_READID,d0 * IOCS 콜 번호 세트
move.w #$90_70,d1 * pda = $90, mode = %0111_0000 = $70
move.l #$00_00_00_00,d2 * 트랙 0, 사이드 0
moveq.l #512,d3 * 읽을 바이트 수
lea data, a1 * 읽은 버퍼 선두 어드레스
trap #iocs * IOCS 콜
.
.







댓글 남기기