It's still basically the same answer, because INT 0x10 is the interrupt vector for the majority of the standard BIOS routines; the value 0x0E (which is 14 decimal) is the number of the specific Basic Input/Output Service (BIOS) operation known as "Teletype Output", which puts a single character in into the current text video buffer and advances a hidden pair of x,y values by one.
In other words, it prints one character of text the the console in text mode, and moves the cursor to the next position.
However, as Octocontrabass said, it isn't actually necessary; it just happens to be convenient when writing a boot loader, because, well, it's already there to be used. It isn't the only way to write text to the console, nor the best way, or even a particularly good way, but it is the easiest way when you are trying to cram as much as you can into a 512 byte boot sector, so if your boot loader is sending something to the text console, that's usually the way you would do it.
Mind you, most first stage boot loaders only use any text output when you are debugging them (yo would take it out later to save space, usually), and even that's assuming you are writing your own boot loader rather than using an existing one such as GRUB or BootMagic - which is what we usually recommend, as writing the boot loader is a lot of work for very little real payoff when designing a new OS.
I am among those who say that it is a useful exercise when starting out, but only as an exercise, and only to the point where you can load another sector and jump to it. Beyond that, unless you are planning to do something really, really unusual, rolling your own boot loader is sort of a waste of time.
Getting back to the issue at hand, you would usually only use the BIOS for the very start of an operating system, especially if you are planning to run it in 32-bit or 64-bit mode - the BIOS routines only work in 16-bit mode, and while there are ways to step down to 16-bit mode from 32-bit mode, doing that is both terribly inefficient and is more work than writing a proper 32-bit driver would have been in the first place.
TL;DR: INT 0x10 has several parts, and putting 0x0E in AH tells it which one to use. But you only need to know that for the very start of things anyway, and probably not even then.
_________________ Rev. First Speaker Schol-R-LEA;2 LCF ELF JAM POEE KoR KCO PPWMTF Ordo OS Project Lisp programmers tend to seem very odd to outsiders, just like anyone else who has had a religious experience they can't quite explain to others.
|