dstr001.asm

来自「嵌入式RMON,RMON为Remote monitor的缩写,基于SNMP为网络」· 汇编 代码 · 共 61 行

ASM
61
字号
;************************************************************************
;* MODULE INFORMATION*
;**********************
;*     FILE     NAME:       dstr001.asm
;*     SYSTEM   NAME:       devlib
;*     ORIGINAL AUTHOR(S):  Paul Lemmers
;*     VERSION  NUMBER:     
;*     CREATION DATE:       1990/8/14
;*
;* DESCRIPTION: Contains dev_strlen
;*              
;************************************************************************
;* CHANGES INFORMATION **
;************************
;* REVISION:    $Revision:   1.1  $
;* WORKFILE:    $Workfile:   dstr001.asm  $
;* LOGINFO:     $Log:   D:/CPROG/MYDEV/DEVLIB/VCS/DSTR001.ASV  $
;*              
;*                 Rev 1.1   17 Dec 1990 14:34:58   PAUL
;*              os2def.h changes
;*              
;*                 Rev 1.0   14 Aug 1990 14:40:24   PAUL
;*              Initial revision.
;************************************************************************/
;
	INCLUDE	cdev.inc


_TEXT	SEGMENT
;************************************************************************
;* NAME:        dev_strlen
;* SYNOPSIS:    unsigned dev_strlen(char far *ptr);
;*              char far *ptr
;* DESCRIPTION: See C-runtime strlen()
;* UNMODIFIED REGISTERS:
;*              ds bp si di
;* RETURNS:     See C-runtime strlen
;************************************************************************
	PUBLIC	_dev_strlen
	cptr = 4
_dev_strlen PROC	NEAR
	push	bp
	mov	bp,sp
	mov	dx,di

	les	di,[bp+cptr]	; get ptr to string
	mov	cx,0FFFFh
	xor	ax,ax		; search for '\0'
	repne scasb
	not	cx		; We have to return in ax
	dec	cx
	mov	ax,cx		;    # of nonzero bytes

	mov	di,dx
	pop	bp
	ret
_dev_strlen ENDP
_TEXT	ENDS

	END

⌨️ 快捷键说明

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