亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? except_asm.s

?? ReactOS是一些高手根據Windows XP的內核編寫出的類XP。內核實現機理和API函數調用幾乎相同。甚至可以兼容XP的程序。喜歡研究系統內核的人可以看一看。
?? S
字號:
/*
 * COPYRIGHT:       See COPYING in the top level directory
 * PROJECT:         ReactOS Runtime Library (RTL)
 * FILE:            lib/rtl/i386/except_asm.S
 * PURPOSE:         User-mode exception support for IA-32
 * PROGRAMMERS:     Alex Ionescu (alex@relsoft.net)
 */

/* INCLUDES ******************************************************************/

#include <ndk/asm.h>
.intel_syntax noprefix

#define ExceptionContinueSearch     1
#define ExceptionNestedException    2
#define ExceptionCollidedUnwind     3

/* FUNCTIONS *****************************************************************/

.func RtlpGetExceptionList@0
.globl _RtlpGetExceptionList@0
_RtlpGetExceptionList@0:

    /* Return the exception list */
    mov eax, fs:[TEB_EXCEPTION_LIST]
    ret
.endfunc

.func RtlpSetExceptionList@4
.globl _RtlpSetExceptionList@4
_RtlpSetExceptionList@4:

    /* Get the new list */
    mov ecx, [esp+4]
    mov ecx, [ecx]

    /* Write it */
    mov fs:[TEB_EXCEPTION_LIST], ecx

    /* Return */
    ret 4
.endfunc

.func RtlpGetExceptionAddress@0
.globl _RtlpGetExceptionAddress@0
_RtlpGetExceptionAddress@0:

    /* Return the address from the stack */
    mov eax, [ebp+4]

    /* Return */
    ret
.endfunc

.func RtlCaptureContext@4
.globl _RtlCaptureContext@4
_RtlCaptureContext@4:

    /* Preserve EBX and put the context in it */
    push ebx
    mov ebx, [esp+8]

    /* Save the basic register context */
    mov [ebx+CONTEXT_EAX], eax
    mov [ebx+CONTEXT_ECX], ecx
    mov [ebx+CONTEXT_EDX], edx
    mov eax, [esp]
    mov [ebx+CONTEXT_EBX], eax
    mov [ebx+CONTEXT_ESI], esi
    mov [ebx+CONTEXT_EDI], edi

    /* Capture the other regs */
    jmp CaptureRest
.endfunc

.func RtlpCaptureContext@4
.globl _RtlpCaptureContext@4
_RtlpCaptureContext@4:

    /* Preserve EBX and put the context in it */
    push ebx
    mov ebx, [esp+8]

    /* Clear the basic register context */
    mov dword ptr [ebx+CONTEXT_EAX], 0
    mov dword ptr [ebx+CONTEXT_ECX], 0
    mov dword ptr [ebx+CONTEXT_EDX], 0
    mov dword ptr [ebx+CONTEXT_EBX], 0
    mov dword ptr [ebx+CONTEXT_ESI], 0
    mov dword ptr [ebx+CONTEXT_EDI], 0

CaptureRest:
    /* Capture the segment registers */
    mov [ebx+CONTEXT_SEGCS], cs
    mov [ebx+CONTEXT_SEGDS], ds
    mov [ebx+CONTEXT_SEGES], es
    mov [ebx+CONTEXT_SEGFS], fs
    mov [ebx+CONTEXT_SEGGS], gs
    mov [ebx+CONTEXT_SEGSS], ss

    /* Capture flags */
    pushfd
    pop [ebx+CONTEXT_EFLAGS]

    /* The return address should be in [ebp+4] */
    mov eax, [ebp+4]
    mov [ebx+CONTEXT_EIP], eax

    /* Get EBP */
    mov eax, [ebp+0]
    mov [ebx+CONTEXT_EBP], eax

    /* And get ESP */
    lea eax, [ebp+8]
    mov [ebx+CONTEXT_ESP], eax

    /* Return to the caller */
    pop ebx
    ret 4
.endfunc

.func RtlpExecuteHandlerForException@20
.globl _RtlpExecuteHandlerForException@20
_RtlpExecuteHandlerForException@20:

    /* Copy the routine in EDX */
    mov edx, offset _RtlpExceptionProtector

    /* Jump to common routine */
    jmp _RtlpExecuteHandler@20
.endfunc

.func RtlpExecuteHandlerForUnwind@20
.globl _RtlpExecuteHandlerForUnwind@20
_RtlpExecuteHandlerForUnwind@20:
    /* Copy the routine in EDX */
    mov edx, offset _RtlpUnwindProtector
.endfunc

.func RtlpExecuteHandler@20
_RtlpExecuteHandler@20:

    /* Save non-volatile */
    push ebx
    push esi
    push edi

    /* Clear registers */
    xor eax, eax
    xor ebx, ebx
    xor esi, esi
    xor edi, edi

    /* Call the 2nd-stage executer */
    push [esp+0x20]
    push [esp+0x20]
    push [esp+0x20]
    push [esp+0x20]
    push [esp+0x20]
    call _RtlpExecuteHandler2@20

    /* Restore non-volatile */
    pop edi
    pop esi
    pop ebx
    ret 0x14
.endfunc

.func RtlpExecuteHandler2@20
.globl _RtlpExecuteHandler2@20
_RtlpExecuteHandler2@20:

    /* Set up stack frame */
    push ebp
    mov ebp, esp

    /* Save the Frame */
    push [ebp+0xC]

    /* Push handler address */
    push edx

    /* Push the exception list */
    push [fs:TEB_EXCEPTION_LIST]

    /* Link us to it */
    mov [fs:TEB_EXCEPTION_LIST], esp

    /* Call the handler */
    push [ebp+0x14]
    push [ebp+0x10]
    push [ebp+0xC]
    push [ebp+8]
    mov ecx, [ebp+0x18]
    call ecx

    /* Unlink us */
    mov esp, [fs:TEB_EXCEPTION_LIST]

    /* Restore it */
    pop [fs:TEB_EXCEPTION_LIST]

    /* Undo stack frame and return */
    mov esp, ebp
    pop ebp
    ret 0x14
.endfunc

.func RtlpExceptionProtector
_RtlpExceptionProtector:

    /* Assume we'll continue */
    mov eax, ExceptionContinueSearch

    /* Put the exception record in ECX and check the Flags */
    mov ecx, [esp+4]
    test dword ptr [ecx+EXCEPTION_RECORD_EXCEPTION_FLAGS], EXCEPTION_UNWINDING + EXCEPTION_EXIT_UNWIND
    jnz return

    /* Save the frame in ECX and Context in EDX */
    mov ecx, [esp+8]
    mov edx, [esp+16]

    /* Get the nested frame */
    mov eax, [ecx+8]

    /* Set it as the dispatcher context */
    mov [edx], eax

    /* Return nested exception */
    mov eax, ExceptionNestedException

return:
    ret 16
.endfunc

.func RtlpUnwindProtector
_RtlpUnwindProtector:

    /* Assume we'll continue */
    mov eax, ExceptionContinueSearch

    /* Put the exception record in ECX and check the Flags */
    mov ecx, [esp+4]
    test dword ptr [ecx+EXCEPTION_RECORD_EXCEPTION_FLAGS], EXCEPTION_UNWINDING + EXCEPTION_EXIT_UNWIND
    jz .return

    /* Save the frame in ECX and Context in EDX */
    mov ecx, [esp+8]
    mov edx, [esp+16]

    /* Get the nested frame */
    mov eax, [ecx+8]

    /* Set it as the dispatcher context */
    mov [edx], eax

    /* Return collided unwind */
    mov eax, ExceptionCollidedUnwind

.return:
    ret 16
.endfunc

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91一区二区三区在线观看| 色狠狠桃花综合| 91麻豆产精品久久久久久| 7777精品伊人久久久大香线蕉经典版下载 | 99精品热视频| 日韩亚洲欧美在线观看| 亚洲视频一区二区在线| 免费成人在线播放| 欧美色中文字幕| 蜜臀av一级做a爰片久久| 亚洲国产视频直播| 成人一区二区三区中文字幕| 69堂成人精品免费视频| 一区二区在线观看视频| 国产成人aaaa| 久久久99精品久久| 精品在线免费观看| 日韩亚洲欧美在线观看| 亚洲aⅴ怡春院| 欧美优质美女网站| 亚洲精品写真福利| 99久久精品免费精品国产| 国产日韩在线不卡| 国产成人99久久亚洲综合精品| 日韩欧美国产三级电影视频| 午夜精品免费在线观看| 欧美在线观看18| 亚洲综合图片区| 91成人在线精品| 亚洲免费成人av| 在线日韩一区二区| 亚洲图片欧美色图| 欧美手机在线视频| 香蕉成人啪国产精品视频综合网 | 亚洲婷婷在线视频| 成人午夜av电影| 国产欧美一区二区精品性| 国产一区视频在线看| 欧美www视频| 久久精品国产一区二区三 | 精品1区2区3区| 精品国产乱码久久久久久闺蜜| 日韩国产高清影视| 欧美一区二区三区免费观看视频| 五月婷婷综合激情| 91精品国产色综合久久ai换脸 | 亚洲成av人影院在线观看网| 欧美日韩国产中文| 久久国产尿小便嘘嘘| 亚洲精品一区二区三区四区高清| 国内精品自线一区二区三区视频| 欧美精品一区二区三| 国产成人精品影视| 艳妇臀荡乳欲伦亚洲一区| 欧美日韩一本到| 男女男精品视频网| 中国av一区二区三区| 91福利在线看| 另类综合日韩欧美亚洲| 国产精品麻豆99久久久久久| 色综合天天天天做夜夜夜夜做| 一区二区三区高清在线| 日韩视频一区二区三区在线播放| 国产精品资源在线观看| 亚洲欧美色图小说| 日韩手机在线导航| 91网站最新网址| 久久成人免费网| 中文字幕不卡三区| 7878成人国产在线观看| 蜜臀va亚洲va欧美va天堂| 香蕉成人啪国产精品视频综合网| 欧美成人高清电影在线| 9色porny自拍视频一区二区| 亚洲第一福利视频在线| 久久伊人蜜桃av一区二区| 色视频欧美一区二区三区| 美女视频黄免费的久久| 国产精品久久99| 日韩视频免费直播| 色婷婷av一区| 国产麻豆精品在线| 日韩国产精品久久| 亚洲日本韩国一区| 久久免费的精品国产v∧| 在线看日本不卡| 成人午夜视频免费看| 青青草伊人久久| 怡红院av一区二区三区| 国产日韩欧美亚洲| 欧美一区二区国产| 欧美又粗又大又爽| 91视频国产观看| 国产精品99久久不卡二区| 日韩精品亚洲一区二区三区免费| 国产精品国产三级国产三级人妇| 久久综合精品国产一区二区三区 | 久久丁香综合五月国产三级网站| 亚洲综合色网站| 日韩伦理免费电影| 国产亚洲一区二区三区在线观看| 欧美一区二视频| 一区二区三区在线不卡| 在线中文字幕一区二区| 国产成人午夜99999| 久久综合综合久久综合| 三级欧美在线一区| 天天综合天天综合色| 亚洲永久免费av| 亚洲男人天堂一区| 亚洲视频综合在线| 一区精品在线播放| 中文字幕在线一区| 中文字幕一区在线观看视频| 日本一二三四高清不卡| 久久久国产午夜精品| 国产亚洲自拍一区| 国产女主播一区| 国产精品二区一区二区aⅴ污介绍| 久久久精品国产免费观看同学| 精品国产免费久久| 国产视频一区在线观看| 国产欧美日韩不卡免费| 国产女同性恋一区二区| 国产精品美女视频| 亚洲欧美日韩国产一区二区三区| 亚洲色图色小说| 亚洲一线二线三线视频| 亚洲国产精品一区二区久久恐怖片| 亚洲美女在线一区| 三级不卡在线观看| 激情小说亚洲一区| 成人av在线资源网| 欧日韩精品视频| 欧美一区二区久久| 国产日产欧产精品推荐色| 中文字幕欧美区| 亚洲精品中文字幕在线观看| 午夜精品久久久久久久 | 久久国产精品99久久久久久老狼| 黄色日韩网站视频| 93久久精品日日躁夜夜躁欧美| 色哟哟精品一区| 欧美一区二区精品久久911| 久久嫩草精品久久久精品| 国产精品国模大尺度视频| 亚洲国产裸拍裸体视频在线观看乱了| 日本免费在线视频不卡一不卡二| 国产精品亚洲人在线观看| 色香蕉久久蜜桃| 欧美一区二区三区成人| 亚洲国产精品激情在线观看| 亚洲一二三专区| 国产乱码精品一区二区三区av | 色综合激情五月| 91麻豆精品国产91久久久资源速度| 精品久久久三级丝袜| 亚洲视频免费在线观看| 免费一级片91| thepron国产精品| 欧美一级久久久久久久大片| 国产精品三级av| 日本不卡一二三| va亚洲va日韩不卡在线观看| 91麻豆精品国产自产在线观看一区 | 一区二区三区中文字幕电影| 久久精品国产精品亚洲精品| 99久久777色| 久久亚洲精品国产精品紫薇| 一区二区三区在线视频播放| 国产精品综合网| 欧美丰满少妇xxxxx高潮对白| 欧美—级在线免费片| 欧美aⅴ一区二区三区视频| 色综合久久久久综合体| 久久久久99精品国产片| 免费不卡在线视频| 欧美日韩一区在线| 亚洲欧美偷拍另类a∨色屁股| 狠狠色综合日日| 91精品国产一区二区三区香蕉| 亚洲欧美偷拍三级| 成人免费看视频| 久久婷婷国产综合精品青草| 婷婷成人激情在线网| 在线亚洲精品福利网址导航| 国产精品国产三级国产三级人妇| 九九视频精品免费| 日韩欧美另类在线| 天天操天天色综合| 欧美精品三级日韩久久| 一区二区激情视频| 丁香婷婷深情五月亚洲| 久久一区二区三区四区| 国内国产精品久久| 欧美精品一区视频| 国产精品一区二区在线观看网站| 日韩精品一区二区三区视频| 美腿丝袜亚洲色图| 欧美电影免费观看完整版|