注册 登录
编程论坛 汇编论坛

有偿 学 汇编语言 动态链接库 的 数据共享

狼牙780 发布于 2016-10-02 14:18, 2699 次点击
有偿 学 汇编语言  动态链接库 的 数据共享
2 回复
#2
狼牙7802016-10-02 14:20
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 该程序是一个简单的动态链接库,用于实现对对话框中
; 的某个值的加减.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 程序名: MyDll.asm
; Copyright 2004-3 by zhouwei
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.386
.model flat,stdcall
option casemap:none
;******************include****************************
include     windows.inc
include     user32.inc
include     kernel32.inc
includelib     user32.lib
includelib     kernel32.lib
;******************data*******************************


.data?
val        dd    ?

;******************code******************************
.code
;================================================================
; 入口函数
;================================================================
DllEntry proc hInstDLL:HINSTANCE, reason:DWORD, reserved1:DWORD
    mov eax,12
    mov val,eax
    mov eax,TRUE
   
    ret
DllEntry Endp
;================================================================
; 下面是两个导出函数,其它程序可以来调用这两个函数。
;================================================================
AddVal proc hWnd:DWORD, dwID:DWORD   
    mov eax,val
    inc eax   
    mov val,eax
    ret
AddVal endp
;================================================================
DecVal proc hWnd:DWORD, dwID:DWORD
    mov eax,val
    dec eax   
    mov val,eax
    ret
DecVal endp

End DllEntry
#3
绿色豆丁2016-11-06 19:20
procedure DllEntry 名字不重要,参数格式匹配就可以,是吧。是不是还有一个出口函数?
是不是调用 procedure AddVal, procedure DecVal 的时候会自动先执行 procedure DllEntry,返回时会自动调用出口函数?
1