📄 dhlp013.asm
字号:
;************************************************************************
;* MODULE INFORMATION*
;**********************
;* FILE NAME: dhlp013.asm
;* SYSTEM NAME: devlib
;* ORIGINAL AUTHOR(S): Paul Lemmers
;* VERSION NUMBER:
;* CREATION DATE: 1990/8/14
;*
;* DESCRIPTION:
;* Contains DevHelp Lock function.
;************************************************************************
;* CHANGES INFORMATION **
;************************
;* REVISION: $Revision: 1.1 $
;* WORKFILE: $Workfile: dhlp013.asm $
;* LOGINFO: $Log: D:/CPROG/MYDEV/DEVLIB/VCS/DHLP013.ASV $
;*
;* Rev 1.1 17 Dec 1990 14:30:54 PAUL
;* included devhlp.inc and os2def.h types
;*
;* Rev 1.0 14 Aug 1990 14:36:02 PAUL
;* Initial revision.
;************************************************************************/
;
INCLUDE cdev.inc
INCLUDE devhlp.inc
_DATA SEGMENT
EXTRN _DevHelp:DWORD
_DATA ENDS
_TEXT SEGMENT
PUBLIC _dev_Lock
;************************************************************************
;* NAME: dev_Lock
;* SYNOPSIS: USHORT dev_Lock(SEL sel, USHORT flags, PULONG pHandle)
;* SEL sel; Selector of segment
;* USHORT flags; Will be bx register
;* PULONG *pHandle; pointer to returned lock handle
;* DESCRIPTION: See DevHelp Lock documentation.
;* UNMODIFIED REGISTERS:
;* ds bp si di
;* RETURNS: ax = 0 --> no error
;* else error code
;************************************************************************
sel = 4
flags = 6
pHandle = 8
_dev_Lock PROC NEAR
PUSH BP
MOV BP,SP
mov ax,[bp+sel]
mov bx,[bp+flags]
mov dl,DevHlp_Lock
call [_DevHelp]
jc $L000 ; jump if access not allowed
mov dx,bx ; save Lock handle
les bx,[bp+pHandle] ; get pointer to handle destination
mov es:[bx+2],ax ; save most sign. part
mov es:[bx],dx ; save least sign. part
xor ax,ax
jmp short $L001
$L000: mov ax,0ffffh
$L001: POP BP
RET
_dev_Lock ENDP
_TEXT ENDS
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -