Fast 16bit ADC using Arduino Due and AD977

As I understand it each "SPI.transfer()" line uploads first the MSbits then the LSbits, not a "null byte".

SPI.transfer(10,0x00);

transfers a null byte (a byte consisting of 8 zero bits). And yes, usually it transfers it MSB first but that's configurable. I don't know what your "upload" means, but every SPI transfer sends out one byte of information while also receiving one byte at the same time (there are two signal lines, one for outgoing and one for incoming information). This is done by shift out/in registers.

In your code you have two SPI.transfer() calls, the first one sends (and also receives, in your case this is the relevant operation) the higher byte while the second one does the same for the lower byte. The SPI_CONTINUE option is to inform the SPI layer to hold SS low between transfer calls, you ommit that option for the call to transfer() which end that data block.