Как хранить больше переменных в регистрах с ограниченным числом регистров процессора
В одном из интервью мне был задан вопрос, можем ли мы хранить 5 переменных в регистрах процессора, если процессор имеет только 4 регистра процессора. Я уверенно дал ответ "НЕТ", затем интервьюер посмотрел на меня странным взглядом.
Мой вопрос заключается в том, можно ли хранить больше переменных в регистрах процессора, чем фактическое количество регистров процессора, если размеры регистров и переменных
1. такой же
2. не то же самое
1 ответ
На самом деле вы можете:
- если переменные меньше, чем регистры. В x86 есть даже регистры, которые "смотрят" на других - AX = AH + AL и т. Д.
- (экзотично), если упомянутые 4 регистра являются регистрами общего назначения, а проверяемые размеры совпадают с регистрами - возможно, есть также регистр указателя инструкций, поэтому сделайте переход к пятой переменной, например адресу, - и все 5 будут храниться в регистрируется за какой-то период времени до аварии