Ошибочка вышла: memory editor специально переводил блоки по 4 байта в удобочитаемый вид (big-endian). Если же сделать вывод по 1 байту, то все встает на свои места
Кажется немного понял, поправьте пожалуйста, если не так - Если бы у меня был компьютер с big-endian, то единица записалась бы по адресу block + 3, не как я указал бы на mov dword [block], 1, а именно по адресу block + 3. В little endian записывалось именно так, как я бы указал. Видимо для этого и существует требование к уточнению размера операнда типа память, потому что порядок байтов бывает разный