In Total Commander you can configure the buffer sizes used while copying. Maybe in your homework you chose the right buffer size too (and, of course, asm is fast, but hard to write, I'm sure you didn't bother too much with error checking and other "small" problems).
Moreover, the optimal buffer size is different for small and large files, maybe Windows is not optimized for large size like a DVD image.