"asm_io.inc" should be in the same directory as "first.asm"... and "asm_io.o" (".obj" for Windows, I guess). You'll also want "driver.c". You can have Nasm look elsewhere for include files with the "-I" switch - "nasm -f obj -I\path\to\my\incs\ first.asm" (note that the trailing backslash - or slash - is required!). I'd suggest you do it all in one directory, for now, although that directory will get pretty cluttered, pretty quick...
Once you've beaten Nasm into producing "first.obj", " -o first.exe driver.c first.obj asm_io.obj". (from memory) I hope you downloaded the examples that match the compiler you're using. The differences are very small, and could be "fixed", but you'll save yourself a world of pain by getting the "right" one.
Best,
Frank