・B_READDI IOCS 콜 번호 : $42

기능
진단을 위한 읽기 (2HD만)
입력
D0.L $42 IOCS 콜 번호
D1.W PDA ✕ 256 + MODE
D2.L 목적 읽기 위치
D3.L 읽을 바이트 수
A1.L 읽기 영역의 선두 어드레스
리턴
D0.L 스테이터스
비트 32 ~ 24 : ST0 리절트 스테이터스 0
비트 23 ~ 16 : ST1 리절트 스테이터스 1
비트 15 ~ 8 : ST2 리절트 스테이터스 2
비트 7 ~ 0 : C 실린더 번호
해설
진단을 위한 읽기(2HD만) 동작을 실행합니다.
수퍼 바이저 영역의 어드레스도 지정할 수 있으므로, 부정한 어드레스를 지정하지 않도 록 주의해 주세요.
입력의 D1.W, D2.L의 상세내역에 관해서는 B_SEEK ($40 : 2HD)를 참조해 주세요.
입력의 D3.L, A1.L은 각각 읽은 데이터의 바이트수, 선두 어드레스입니다.
리턴의 D0.L은 FDC의 스테이터스입니다.
리절트 스테이터스 (ST0 ~ ST1)의 상세 내역에 대해서는 부록 6. FDC의 스테이터스를 참조해 주세요.
프로그램 예
******************************************
** B_READDI $42
***** 2HD ********************************
.include iocscall.mac
.include doscall.mac
iocs equ $0f
.text
.
.
moveq.l #_B_REDADDI,d0 * IOCS 콜 번호 세트
move.w #$90_70,d1 * pda = $90, mode = %0111_0000 = $70
move.l #$03_05_01_08,d2 * sector길이=3, track=5, side=1, sector=8
trap #iocs * IOCS 콜
.
.
.data
buf: ds.b 1024
.
.
.end







댓글 남기기