Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Genereert een pushcodevermelding met twee registraties voor het opgegeven registerpaar met behulp van de huidige offset in de proloog.
Syntaxis
.PUSH2REGregister1, register2
Parameters
register1
Het eerste register dat moet worden gepusht. Moet een 64-bits 64-bits register voor algemeen gebruik zijn.
register2
Het tweede register dat moet worden gepusht. Moet een 64-bits 64-bits register voor algemeen gebruik zijn.
register1 en register2 kunnen elk een van de volgende zijn:
RAX, RCX, RDX, RBX, RDI, RSI, RBP, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31.
Opmerkingen
Important
Deze richtlijn is experimenteel en kan worden gewijzigd. Schakel versie 3 uit door gebruik te maken van ml64.exe /unwindv3.
- Gebruik
.PUSH2REGdeze functie om op te geven hoe een framefunctie tot rust komt. U kunt deze richtlijn alleen gebruiken in de proloog, die zich uitbreidt van de PROC-verklaringFRAMEtot de . ENDPROLOG-richtlijn . - Deze instructies genereren een ontspannen metagegevens (
.xdataen.pdatasecties), maar produceren geen uitvoerbare code. In Afwikkelen versie 3 moet.PUSH2REGworden weergegeven voordat de instructie waarmee de actie daadwerkelijk wordt geïmplementeerd, wordt uitgevoerd. Om een overeenkomst te garanderen, is het een goede gewoonte om zowel de instructies voor het afwikkelen als de code die ze moeten afwikkelen in een macro te verpakken. - Als register1 en register2 opeenvolgend en in toenemende volgorde zijn, verzendt MASM een
WOD_PUSH_CONSECUTIVE_2afwikkelcode. Anders verzendt MASM eenWOD_PUSH2afwikkelcode.
Opmerking
In Relax versie 1 wordt de instructie weergegeven na de bijbehorende instructie. In Relax versie 3 wordt de instructie weergegeven vóór de instructie.
Voorbeeld voor relaxv3
; ml64 /unwindv3 ex1.asm /link /entry:Example1 /SUBSYSTEM:CONSOLE
_text SEGMENT
Example1 PROC FRAME
.push2reg r10, r11
push2 r10, r11
.push2reg rbx, rsi
push2 rbx, rsi
.endprolog
; rest of function ...
ret
Example1 ENDP
_text ENDS
END
Zie ook
x64 Versie 3 tot rust laten komen (experimenteel)
Naslaginformatie over richtlijnen
. POP2REG
. PUSHREG
. ENDPROLOG
MASM BNF-grammatica