・B_READ IOCS 콜 번호 : $46 (2HD)

기능
디스크 데이터 읽기
입력
D0.L $46 IOCS 콜 번호
D1.W PDA ✕ 256 + MODE
D2.L 목적 읽기 위치
D3.L 읽을 바이트 수
A1.L 읽기 영역의 선두 어드레스
리턴
D0.L 스테이터스
해설
디스크로부터 데이터를 읽습니다.
슈퍼 바이저 영역의 어드레스도 지정할 수 있으므로, 부정한 어드레스를 지정하지 않도록 주의해 주세요.
입력의 D1.W, D2.L에 대해서는 B_SEEK ($40 : 2HD, 하드디스크)를 참조해 주세요.
입력의 D3.L, A1.L은 각각 읽은 데이터 바이트 수, 선두 어드레스 입니다.
리턴의 D0.L의 스테이터스에 대해서는, B_VERIFY ($41 : 2HD, 하드디스크)를 참조해 주세요.
주: OS가 행하고 있는 버퍼링 처리와는 무관계로 동작하므로, OS가 버퍼 중의 데이터를 가지고 있는 경우 디스크 상의 데이터는 내용이 보증되지 않는 경우가 있습니다.
프로그램 예
******************************************
** B_READ $46
******************************************
.include iocscall.mac
.include doscall.mac
iocs equ $0f
.text
.
.
moveq.l #_B_READ,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
move.l #1024,d3 * 읽을 바이트 수
trap #iocs * IOCS 콜
.
.
.data
buf: ds.b 1024
.
.
.end







댓글 남기기