2025-04-27 07:49:33 -04:00

99 lines
3.3 KiB
NASM
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

PAGE 109,132
TITLE MS-DOS 5.0 HDINT.ASM
;************************************************************************
;* *
;* *
;* MODULE NAME: HDINT.ASM *
;* *
;* *
;* COPYRIGHT (C) NEC CORPORATION 1990 *
;* *
;* NEC CONFIDENTIAL AND PROPRIETARY *
;* *
;* All rights reserved by NEC Corporation. *
;* this program must be used solely for *
;* the purpose for which it was furnished *
;* by NEC Corporation. No past of this program *
;* may be reproduced or disclosed to others, *
;* in any form, without the prior written *
;* permission of NEC Corporation. *
;* Use of copyright notice does not evidence *
;* publication of this program. *
;* *
;************************************************************************
;
;
; This file defines the segment structure of the BIOS.
; It should be included at the beginning of each source file.
; All further segment declarations in the file can then be done by just
; by specifying the segment name, with no attribute, class, or align type.
datagrp group Bios_Data,Bios_Data_Init
Bios_Data segment word public 'Bios_Data'
Bios_Data ends
Bios_Data_Init segment word public 'Bios_Data_Init'
Bios_Data_Init ends
Filler segment para public 'Filler'
Filler ends
Bios_Code segment word public 'Bios_Code'
Bios_Code ends
Filler2 segment para public 'Filler2'
Filler2 ends
SysInitSeg segment word public 'system_init'
SysInitSeg ends
Bios_Data segment word public 'Bios_Data'
ASSUME CS:BIOS_CODE,DS:DATAGRP
EXTRN INT1B_OFST:DWORD
Bios_Data ends
Bios_Code segment word public 'Bios_Code'
ASSUME CS:BIOS_CODE,DS:DATAGRP
EXTRN HD_ENTC:NEAR
Bios_Code ends
Bios_Code segment word public 'Bios_Code'
ASSUME CS:BIOS_CODE,DS:DATAGRP
PUBLIC HD_ENTI_CODE
PUBLIC HDINT_CODE_START
PUBLIC HDINT_CODE_END
PUBLIC HDINT_END
HDINT_CODE_START:
;
;------ 5" HARD DISK BASIC I/O
;
HD_ENTI_CODE:
PUSH BP
MOV BP,SP
AND BYTE PTR 6[BP],0FEH ;CARRY FLAG OFF
POP BP
CALL HD_ENTC
JNB HD_EXTI
PUSH BP
MOV BP,SP
OR BYTE PTR 6[BP],001H ;CARRY FLAG ON
POP BP
HD_EXTI:
IRET
HDINT_CODE_END EQU $
HDINT_END EQU $
Bios_Code ends
END