Wie viele bytes hat der push-Befehl push auf den stack, wenn ich nicht geben Sie den operand-Größe?

Kann ich push 4 bytes auf den stack zu tun:

push DWORD 123

Aber ich habe heraus gefunden, dass ich verwenden können push ohne Angabe der Operanden-Größe:

push 123

In diesem Fall, wie viele bytes hat die push Anweisung push auf den stack? Auch die Anzahl von bytes geschoben, hängt von den Operanden-Größe (also in meinem Beispiel wird es push 1 byte)?

  • Die native register Größe, um die Stapel ausgerichtet werden. In 32-bit-Modus befindet, drücken 4 bytes. In 64-bit-Modus befindet, drücken Sie 8 Byte.
  • BTW, könnte man getestet haben dies mit einem debugger. Es ist einfach nur Schritt die Anleitung und sehen, wie esp/rsp änderungen. Sie könnte auch die Demontage Ausgang und merken, dass Sie beide versammeln, um den gleichen Maschinencode.
InformationsquelleAutor | 2017-07-16
Schreibe einen Kommentar