So speichern Sie mehr Variablen in Registern mit einer begrenzten Anzahl von CPU-Registern

280
anishkumar

In einem Interview wurde ich gefragt, ob wir 5 Variablen in den CPU-Registern speichern können, wenn der Prozessor nur 4 CPU-Register hat. Ich gab zuversichtlich NEIN an, dann gab mir der Interviewer einen komischen Blick.

Meine Frage ist, dass ist es möglich, mehr Variablen in CPU - Register zu speichern, als die tatsächliche Anzahl der CPU - Register, wenn Register und variablen Größen sind
1. gleiche
2. nicht gleichen

-1
Dies hängt von der Länge der Register und von Werten ab, die Sie speichern müssen. Wenn ein Teil eines Registers ausreicht, um einen Wert zu speichern, und der Rest für einen anderen ausreichend ist, können wir wirklich besser als 1: 1. Gombai Sándor vor 8 Jahren 0
@ GombaiSándor Frage bearbeitet anishkumar vor 8 Jahren 0

1 Antwort auf die Frage

0
Vasfed

Eigentlich kannst du:

  • wenn die Variablen kleiner als die Register sind. In x86 gibt es sogar Register, die in andere hineinschauen - AX = AH + AL usw
  • (exotisch) Wenn die genannten 4 Register Register für allgemeine Zwecke sind und die Größenangaben mit denen von Registern identisch sind, gibt es wahrscheinlich auch ein Befehlszeigerregister. Springen Sie also zu der fünften Variablen wie eine Adresse, und Sie haben alle 5 Register gespeichert registriert sich für eine gewisse Zeit vor dem Absturz