- 時間撮記:
- 2016-4-18 上午09:11:04 (9 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-TrapSetJmp.asm
r60194 r60527 37 37 BS3_EXTERN_CMN Bs3RegCtxSave 38 38 %if TMPL_BITS == 16 39 BS3_EXTERN_CMN Bs3SelFar32ToFlat3239 BS3_EXTERN_CMN_FAR Bs3SelFar32ToFlat32 40 40 %endif 41 41 BS3_EXTERN_DATA16 g_Bs3TrapSetJmpCtx … … 49 49 ; @uses See, applicable C calling convention. 50 50 ; 51 BS3_PROC_BEGIN_CMN Bs3TrapSetJmp 51 BS3_PROC_BEGIN_CMN Bs3TrapSetJmp, BS3_PBC_HYBRID 52 52 BS3_CALL_CONV_PROLOG 1 53 53 push xBP … … 71 71 mov xAX, [xBP + xCB] ; The return address of this function 72 72 mov [xBX + BS3REGCTX.rip], xAX 73 %if TMPL_BITS == 16 74 mov xAX, [xBP + xCB+2] ; The return address CS of this function. 75 mov [xBX + BS3REGCTX.cs], xAX 76 %endif 73 77 mov xAX, [xBP] 74 78 mov [xBX + BS3REGCTX.rbp], xAX 75 lea xAX, [xBP + xCB *2]79 lea xAX, [xBP + xCB + cbCurRetAddr] 76 80 mov [xBX + BS3REGCTX.rsp], xAX 77 81 mov xAX, [xBP - xCB] … … 86 90 %if TMPL_BITS == 16 87 91 push es 88 les di, [xBP + xCB *2]92 les di, [xBP + xCB + cbCurRetAddr] 89 93 mov cx, BS3TRAPFRAME_size / 2 90 94 mov ax, 0faceh … … 104 108 %if TMPL_BITS == 16 105 109 xor ax, ax 106 push word [xBP + xCB *2+ 2]110 push word [xBP + xCB + cbCurRetAddr + 2] 107 111 push ax 108 push word [xBP + xCB*2] 112 push word [xBP + xCB + cbCurRetAddr] 113 push cs 109 114 call Bs3SelFar32ToFlat32 110 115 add sp, 6h … … 124 129 pop xBP 125 130 BS3_CALL_CONV_EPILOG 1 126 ret131 BS3_HYBRID_RET 127 132 BS3_PROC_END_CMN Bs3TrapSetJmp 128 133
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器