I don't know if you can use this in assembler, but maybe it helps:
You could call the command "powercfg /batteryreport" under Windows. This creates a file "battery-report.html". This file could be opened and the desired information could be read out. Why is the solution desired in assembler? In C, this could be done with a few lines of code. You can also instruct a C compiler to generate assembler if this is really necessary.
You can start a program with CreateProcess() and wait for its end with WaitForSingleObject().