wincall.asm

来自「开放源码的编译器open watcom 1.6.0版的源代码」· 汇编 代码 · 共 619 行 · 第 1/2 页

ASM
619
字号
        Callback        262
        Callback        261
        Callback        260
        Callback        259
        Callback        258
        Callback        257
        Callback        256
        Callback        255
        Callback        254
        Callback        253
        Callback        252
        Callback        251
        Callback        250
        Callback        249
        Callback        248
        Callback        247
        Callback        246
        Callback        245
        Callback        244
        Callback        243
        Callback        242
        Callback        241
        Callback        240
        Callback        239
        Callback        238
        Callback        237
        Callback        236
        Callback        235
        Callback        234
        Callback        233
        Callback        232
        Callback        231
        Callback        230
        Callback        229
        Callback        228
        Callback        227
        Callback        226
        Callback        225
        Callback        224
        Callback        223
        Callback        222
        Callback        221
        Callback        220
        Callback        219
        Callback        218
        Callback        217
        Callback        216
        Callback        215
        Callback        214
        Callback        213
        Callback        212
        Callback        211
        Callback        210
        Callback        209
        Callback        208
        Callback        207
        Callback        206
        Callback        205
        Callback        204
        Callback        203
        Callback        202
        Callback        201
        Callback        200
        Callback        199
        Callback        198
        Callback        197
        Callback        196
        Callback        195
        Callback        194
        Callback        193
        Callback        192
        Callback        191
        Callback        190
        Callback        189
        Callback        188
        Callback        187
        Callback        186
        Callback        185
        Callback        184
        Callback        183
        Callback        182
        Callback        181
        Callback        180
        Callback        179
        Callback        178
        Callback        177
        Callback        176
        Callback        175
        Callback        174
        Callback        173
        Callback        172
        Callback        171
        Callback        170
        Callback        169
        Callback        168
        Callback        167
        Callback        166
        Callback        165
        Callback        164
        Callback        163
        Callback        162
        Callback        161
        Callback        160
        Callback        159
        Callback        158
        Callback        157
        Callback        156
        Callback        155
        Callback        154
        Callback        153
        Callback        152
        Callback        151
        Callback        150
        Callback        149
        Callback        148
        Callback        147
        Callback        146
        Callback        145
        Callback        144
        Callback        143
        Callback        142
        Callback        141
        Callback        140
        Callback        139
        Callback        138
        Callback        137
        Callback        136
        Callback        135
        Callback        134
        Callback        133
        Callback        132
        Callback        131
        Callback        130
        Callback        129
        Callback        128
        Callback        127
        Callback        126
        Callback        125
        Callback        124
        Callback        123
        Callback        122
        Callback        121
        Callback        120
        Callback        119
        Callback        118
        Callback        117
        Callback        116
        Callback        115
        Callback        114
        Callback        113
        Callback        112
        Callback        111
        Callback        110
        Callback        109
        Callback        108
        Callback        107
        Callback        106
        Callback        105
        Callback        104
        Callback        103
        Callback        102
        Callback        101
        Callback        100
        Callback        99
        Callback        98
        Callback        97
        Callback        96
        Callback        95
        Callback        94
        Callback        93
        Callback        92
        Callback        91
        Callback        90
        Callback        89
        Callback        88
        Callback        87
        Callback        86
        Callback        85
        Callback        84
        Callback        83
        Callback        82
        Callback        81
        Callback        80
        Callback        79
        Callback        78
        Callback        77
        Callback        76
        Callback        75
        Callback        74
        Callback        73
        Callback        72
        Callback        71
        Callback        70
        Callback        69
        Callback        68
        Callback        67
        Callback        66
        Callback        65
        Callback        64
        Callback        63
        Callback        62
        Callback        61
        Callback        60
        Callback        59
        Callback        58
        Callback        57
        Callback        56
        Callback        55
        Callback        54
        Callback        53
        Callback        52
        Callback        51
        Callback        50
        Callback        49
        Callback        48
        Callback        47
        Callback        46
        Callback        45
        Callback        44
        Callback        43
        Callback        42
        Callback        41
        Callback        40
        Callback        39
        Callback        38
        Callback        37
        Callback        36
        Callback        35
        Callback        34
        Callback        33
        Callback        32
        Callback        31
        Callback        30
        Callback        29
        Callback        28
        Callback        27
        Callback        26
        Callback        25
        Callback        24
        Callback        23
        Callback        22
        Callback        21
        Callback        20
        Callback        19
        Callback        18
        Callback        17
        Callback        16
        Callback        15
        Callback        14
        Callback        13
        Callback        12
        Callback        11
        Callback        10
        Callback        9
        Callback        8
        Callback        7
        Callback        6
        Callback        5
        Callback        4
        Callback        3
        Callback        2
        Callback        1

        public  __CallBack_
__CallBack_ proc        near
        pop     DX                      ; get return address
        inc     BP                      ; standard Windows prolog
        push    BP                      ; ...
        mov     BP,SP                   ; ... get access to parms
        push    DS                      ; save DS
ifdef DLL32
        mov     AX,DGROUP
        mov     DS,AX                   ; get access to DGROUP
else
        push    SS                      ; SS points to DGROUP
        pop     DS                      ; set DS to DGROUP
endif
        mov     AX,offset __CallBack_-1 ; calc. callback index
        sub     AX,DX                   ; ...
        mov     DX,AX                   ; ...
        mov     AX,SS                   ; get 16-bit stack selector
        mov     word ptr _EntryStackSave,SP     ; save current sp
        mov     word ptr _EntryStackSave+2,SS   ; save stack segment
        mov     ES,_DataSelector        ; get 32-bit data selector
        mov     SS,_StackSelector       ; switch to 32-bit stack
        mov     ESP,_SaveSP             ; ...
        push    _EntryStackSave         ; save 16-bit SS:SP on 32-bit stack
        call    __32BitCallBackAddr     ; go over to 32-bit side
        lea     ECX,4[ESP]              ; calc. value for 32-bit stack pointer
        mov     _SaveSP,ECX             ; save 32-bit stack pointer 22-nov-93
        lss     SP,[ESP]                ; switch back to 16-bit stack
        pop     DS                      ; restore DS
        pop     BP                      ; restore BP
        dec     BP                      ; ...
        pop     BX                      ; get return address
        pop     CX                      ; ...
        mov     DH,0                    ; zero high byte of stack adjustment
        add     SP,DX                   ; adjust stack pointer
        push    CX                      ; push return address
        push    BX                      ; ...
        push    EAX                     ; push return value
        pop     AX                      ; pop return value into DX:AX
        pop     DX                      ; ...
        retf                            ; return
__CallBack_ endp

_TEXT   ends
        end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?