X86 Assembly/ACPI
ACPI (Advanced Configuration and Power Interface) is a standard interface between the operating system on board system controller of the motherboard. It can be used for thinks like giving basic information (system type (desktop/laptop), board vendor, model and serial, firmware (earlier bios now uefi) version), switching to standby mode, some non-keyboard-buttons (like the power button) and/or reporting battery info (like is it charged through AC or is it discarding and how much percentage is left/to be filled). There can also are non standard additions to the ACPI interface related to the hardware...
For more information see eg. Advanced Configuration and Power Interface at wikipedia
TODO: give some code ecamples how to execute the above mentioned functions and hint for further documentation
The previous, and mostly still available for backwards compatibility, interface was APM, see also X86 Assembly/Programmable Interrupt Controller (IRQ) for that