BIOS design is a "beginner question"???
Well... the BIOS is something that "comes with the motherboard". They're mostly "flashable" these days, I think, so you could probably add your own code. I would strongly advise that you not do so!!!
You can replace the bios interrupts with your own code. Unless you're planning on a 16-bit OS, you'll *have* to do so! We "cli" before entering pmode. Before we can "sti", 32-bit code to handle interrupts must be in place!!!
If you're serious about OS design, put Nasm in cold storage and hit the books for a couple (?) years. Tannenbaum's "OS Design and Implementation" used to be the recommended starting point. Check news:alt.os.development and links you'll find there for the latest. It's a *big* subject. (I almost feel that it's "too late" - the hardware is moving so fast that if you haven't already got a solid background, you'll never catch up! But I'm an old geezer... maybe it looks different to a young'un. Hope so!!!)
If what you want is an "educational toy", now *that* might be a reasonable thing to do! There's a thread in news:comp.lang.asm.x86 currently looking at "512devos" (simple command processor - fits in a bootsector) which might interest you. Mike Gonta's aeBIOS might be worth looking at - possibly *using*. (a 32-bit extended bios in asm) I came across (somewhere) a thing called "nap.asm", which implements an OS in a bootsector. Two commands, "e" to enter hex, and "j" to jump to it. You can do *anything* with it you can do with *any* OS... just not as conveniently. :)
Maybe, to figure out where to start, we should consider where you want to go. What's going to be "special" about your OS, compared to ?
Best,
Frank