В HLA, как именно параметры хранятся в записи активации?
Я много читал о теме, но
проблема заключается в том, что параметры имеют любой тип данных «меньше 4 байтов».
Например:
Procedure proc(VAL i:int32; VAL j:int16; VAL k:int16);@nodisplay;
(обратите внимание, что все параметры VAL)
, поскольку нигде не упоминается, что все параметры выделяют (как минимум) 4-байтовые блоки,
Я ожидаю, что k будет на EBP + 8, j на EBP + 10 и i на EBP + 12.
Но, согласно нескольким stdout.puts, это не так. (По крайней мере, не в моей системе)
k на EBP + 8, j на EBP + 12 и i на EBP + 16.
Есть ли ресурс, указывающий, что параметры выделяют 4-байтовые блоки?
Или мой HLA плохо себя ведет?