Category: BIOS
INT 19 - SYSTEM - BOOTSTRAP LOADER Desc: This interrupt reboots the system without clearing memory or restoring interrupt vectors. Because interrupt vectors are preserved, this interrupt usually causes a system hang if any TSRs have hooked vectors from 00h through 1Ch, particularly INT 08. Notes: Usually, the BIOS will try to read sector 1, head 0, track 0 from drive A: to 0000h:7C00h. If this fails, and a hard disk is installed, the BIOS will read sector 1, head 0, track 0 of the first hard disk. This sector should contain a master bootstrap loader and a partition table (see #00650). After loading the master boot sector at 0000h:7C00h, the master bootstrap loader is given control (see #00653). It will scan the partition table for an active partition, and will then load the operating system's bootstrap loader (contained in the first sector of the active partition) and give it control. true IBM PCs and most clones issue an INT 18 if neither floppy nor hard disk have a valid boot sector to accomplish a warm boot equivalent to Ctrl-Alt-Del, store 1234h in 0040h:0072h and jump to FFFFh:0000h. For a cold boot equivalent to a reset, store 0000h at 0040h:0072h before jumping. VDISK.SYS hooks this interrupt to allow applications to find out how much extended memory has been used by VDISKs (see #00649). DOS 3.3+ PRINT hooks INT 19 but does not set up a correct VDISK header block at the beginning of its INT 19 handler segment, thus causing some programs to overwrite extended memory which is already in use. the default handler is at F000h:E6F2h for 100% compatible BIOSes MS-DOS 3.2+ hangs on booting (even from floppy) if the hard disk contains extended partitions which point at each other in a loop, since it will never find the end of the linked list of extended partitions under Windows Real and Enhanced modes, calling INT 19 will hang the system in the same was as under bare DOS; under Windows Standard mode, INT 19 will successfully perform a cold reboot as it appears to have been redirected to a MOV AL,0FEh/OUT 64h,AL sequence BUG: when loading the remainder of the DOS system files fails, various versions of IBMBIO.COM/IO.SYS incorrectly restore INT 1E before calling INT 19, assuming that the boot sector had stored the contents of INT 1E at DS:SI instead of on the stack as it actually does SeeAlso: INT 14/AH=17h,INT 18"BOOT HOOK",INT 49"Tandy 2000",INT 5B"PC Cluster" SeeAlso: MEM 0040h:0067h,MEM F000h:FFF0h,CMOS 0Fh