www.pudn.com > bootany.zip > BOOTIO.ASM


        page    61,132 
        TITLE   bootio.c 
_DATA   SEGMENT  WORD PUBLIC 'DATA' 
_DATA   ENDS 
DGROUP  GROUP   _DATA 
        ASSUME DS: DGROUP, SS: DGROUP 
_TEXT   SEGMENT  WORD PUBLIC 'CODE' 
        ASSUME  CS: _TEXT 
        PUBLIC  _BOOTIO 
_BOOTIO PROC NEAR 
; 
;       Semantics  int bootio(int iotype, char *buffer) 
; 
        push    BP 
        mov     BP,SP                   ; Save stack pointer 
        push    ES 
        push    SS 
        pop     ES 
        push    BX 
        push    CX 
        push    DX 
        mov     AX,WORD PTR [BP+4]      ; Get iotype 
        mov     AH,AL                   ; Move to correct byte 
        mov     AL,1                    ; Read 1 track 
        mov     BX,WORD PTR [BP+6]      ; Get buffer address 
        mov     DX,80h                  ; Head 0, Drive C 
        mov     CX,1                    ; Cylinder 0, sector 1 
        int     13h                     ; perform I/O 
        jc      error 
        xor     AX, AX                  ; show good status 
        jmp     SHORT goback 
error: 
        mov     AX, -1                  ; show bad status 
goback: 
        pop     DX 
        pop     CX 
        pop     BX 
        pop     ES 
        mov     SP,BP 
        pop     BP 
        ret 
_BOOTIO ENDP 
_TEXT   ENDS 
        END