Yes, just a bunch of opcodes and arguments. There's a bit which checks out and intialises the hardware, you know, susses out what CPU it is running at what speed, sends it configuration information to sort out the caching and bus timing, loads microcode patches if required (Pentium), sets up the mobo chipset registers with all the info it needs to be able to address memory and I/O, maybe sets up the clock generator PLL and the programmable switch-mode power supply for the correct CPU voltage, decompresses the main part of the BIOS into shadow RAM, checksums the extension BIOSes and runs them, runs diagnostics to find out what hardware is there and if it's running OK, interrogates P'n'P devices to find out who they are and build/check the necessary information tables (ESCD/DPMI, all that good stuff) - oh, yeah, how about a nice CMOS set-up menu system so you can change your hard disc parameters, time/date, etc? and don't forget the ATA and ATAPI devices.....and once it's done all that it's ready to provide all those system services defined in the old original IBM PC ROM BIOS (see here
for a list of where you need to put them for compatibility) plus those all-important Int 13 extensions to support standard, large and LBA disc modes, ACPI etc.
By now you'll have noticed that for a modern system it's not straight forward. An old 8088 or 80286 system was a lot simpler, and for the first few years they did not have a CMOS set-up utility built in.
A couple of interesting places I found this afternoon:http://www.dewassoc.com/kbase/index.htmlhttp://www.xs4all.nl/~matrix/