Ваш achitecure имеет младший порядок, младшие значащие биты находятся по младшему адресу памяти.Это обратное к обычному западному направлению письма.
Память выглядит точно так, как вы описали, но когда она загружена, похоже, она переворачивается:
`FE 00 AB BC`
low high address
mov eax, 0x1010001
01 00 01 01
low high byte in eax
Итак, содержимое eax теперь01010001
если вы пишете слева направо для записи.
Проблема возникает из-за того, что порядок записи числовых констант в исходном коде ассемблера отличается от порядка, в котором байты фактически сохраняются в памяти.