Hi,
Good job! I have some constructive notes, if you don't mind.
About the Webpage
I have some displaying problem with the command line examples (eg.: diskpart). Everything is in one line, no breaks, no spaces either between the prompt and the command. I suppose this is a CSS issue. The code example (which does not have a prompt part) is fine.
About Code
Do you have any particular reason to use nasm?
Fasm seems to be a better choice:
- written primarly for windows, and also has a small, fast, and really nice IDE (so you don't have to install Visual Studio if you don't want to)
- you can create EFI executables with fasm directly, no linker needed (much simpler toolchain)
- supports the same Intel syntax as nasm, although there are minor differences with macros (imho fasm's macros are more mature)
(Don't get me wrong, there's nothing wrong with nasm, it's just fasm seems to provide an easier development environment)
About the code itself, you should save rcx first, because that contains the ImageHandle which you might need later. Also, you assume rdx points to the system table, it would be better to check that with "rdx!=0 && *rdx==0x20494249" just to be sure (not that you have any meaningful way to report error if rdx is not valid, but you could return right away to avoid certain misbehaviour and maybe damaging the computer for good).
Other than these, your page is really nice, we should have more tutorials like this! I particularly like very much that you're using diskpart for mounting the image. Thank you for sharing with us! Oh, and your header image is just so cool. Has a certain cyberpunk feeling in it, and I like that it defies the bias that coders must be men!
Cheers,
bzt