Я пришел к выводу, что вы не можете вставить байт непосредственно в стек Intel Pentium, кто-нибудь может мне это объяснить, пожалуйста?
Причина, по которой мне дали, заключается в том, что регистр espадресуемый словом (или это предположение в нашей модели), и он должен быть «четным адресом».Я бы предположил, что уменьшение значения некоторого 32-разрядного двоичного числа не помешает выравниванию регистра, но, видимо, я не понимаю достаточно.
Я попробовал некоторые тесты NASM и пришел к выводу, чтоесли я объявляю переменную (bite db 123) и помещаю ее в стек, esp уменьшается на 4 (указывая, что она выдвинула 32-битную версию?).Но «push byte bite» (извините за выбор имен переменных) приведет к ошибке типа:
test.asm: 10: error: неподдерживаемое перемещение не-32-битных ELF
Любые слова мудрости будут высоко оценены в это беспокойное время.Я студент первого курса, так что извините за мою наивность во всем этом.