📄 dhlp018.asm
字号:
;************************************************************************
;* MODULE INFORMATION*
;**********************
;* FILE NAME: dhlp018.asm
;* SYSTEM NAME: devlib
;* ORIGINAL AUTHOR(S): Paul Lemmers
;* VERSION NUMBER:
;* CREATION DATE: 1990/8/21
;*
;* DESCRIPTION:
;* Contains DevHelp AllocPhys function.
;************************************************************************
;* CHANGES INFORMATION **
;************************
;* REVISION: $Revision: 1.1 $
;* WORKFILE: $Workfile: dhlp018.asm $
;* LOGINFO: $Log: D:/CPROG/MYDEV/DEVLIB/VCS/DHLP018.ASV $
;*
;* Rev 1.1 17 Dec 1990 14:31:06 PAUL
;* included devhlp.inc and os2def.h types
;*
;* Rev 1.0 03 Sep 1990 15:03:14 PAUL
;* Initial revision.
;************************************************************************/
;
INCLUDE cdev.inc
INCLUDE devhlp.inc
_DATA SEGMENT
EXTRN _DevHelp:DWORD
_DATA ENDS
_TEXT SEGMENT
PUBLIC _dev_AllocPhys
;************************************************************************
;* NAME: _dev_AllocPhys
;* SYNOPSIS: USHORT dev_AllocPhys(ULONG cSize, USHORT pos, PULONG pPhys)
;* ULONG cSize; Length of memory
;* USHORT pos; Block position
;* PULONG *pPhys; Pointer to 32-bit physical address
;* DESCRIPTION: See DevHelp documentation of AllocPhys.
;* UNMODIFIED REGISTERS:
;* ds bp si di
;* RETURNS: ax = 0 --> no error
;* else error code
;************************************************************************
cSize = 4
pos = 8
pPhys = 0Ah
_dev_AllocPhys PROC NEAR
PUSH BP
MOV BP,SP
mov bx,[bp+cSize]
mov ax,[bp+cSize+2]
mov dh,[bp+pos]
mov dl,DevHlp_AllocPhys
call [_DevHelp]
jc $L000 ; jump if error
mov cx,bx ; save low word
les bx,[bp+pPhys]
mov es:[bx],cx ; store low word
mov es:[bx+2],ax ; store high word
xor ax,ax
$L000: POP BP
RET
_dev_AllocPhys ENDP
_TEXT ENDS
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -