📄 dhlp027.asm
字号:
;************************************************************************
;* MODULE INFORMATION*
;**********************
;* FILE NAME: dhlp027.asm
;* SYSTEM NAME: devhelp
;* ORIGINAL AUTHOR(S): Paul Lemmers
;* VERSION NUMBER:
;* CREATION DATE: 1990/8/14
;*
;* DESCRIPTION:
;* Contains DevHelp VerifyAccess function.
;************************************************************************
;* CHANGES INFORMATION **
;************************
;* REVISION: $Revision: 1.1 $
;* WORKFILE: $Workfile: dhlp027.asm $
;* LOGINFO: $Log: D:/CPROG/MYDEV/DEVLIB/VCS/DHLP027.ASV $
;*
;* Rev 1.1 17 Dec 1990 14:31:22 PAUL
;* included devhlp.inc and os2def.h types
;*
;* Rev 1.0 14 Aug 1990 14:37:10 PAUL
;* Initial revision.
;************************************************************************/
;
INCLUDE cdev.inc
INCLUDE devhlp.inc
_DATA SEGMENT
EXTRN _DevHelp:DWORD
_DATA ENDS
_TEXT SEGMENT
PUBLIC _dev_VerifyAccess
;************************************************************************
;* NAME: dev_VerifyAccess
;* SYNOPSIS: USHORT dev_VerifyAccess(void _far *ptr, USHORT len,
;* USHORT type)
;* void far *ptr1; Virtual address
;* USHORT len; Length of memory
;* USHORT atype; Access type
;* DESCRIPTION: See DevHelp documentation of VerifyAccess.
;* UNMODIFIED REGISTERS:
;* ds bp si di
;* RETURNS: ax = 0 --> no error
;* else error code
;************************************************************************
ptr1 = 4
len = 8
atype = 0Ah
_dev_VerifyAccess PROC NEAR
PUSH BP
MOV BP,SP
mov bx,di ; save di
mov ax,[bp+ptr1+2] ; get selector
mov di,[bp+ptr1] ; get offset
mov cx,[bp+len] ; get length
mov dh,[bp+atype] ; get type
mov dl,DevHlp_VerifyAccess
call [_DevHelp]
jc $L000 ; jump if access not allowed
xor ax,ax
jmp short $L001
$L000: mov ax,0ffffh
$L001: mov di,bx ; restore di
POP BP
RET
_dev_VerifyAccess ENDP
_TEXT ENDS
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -