File: fslen.asm

package info (click to toggle)
libhdf4 4.1r4-18.1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 24,348 kB
  • ctags: 26,692
  • sloc: ansic: 207,307; fortran: 30,195; sh: 7,789; makefile: 7,470; cpp: 2,186; pascal: 1,407; asm: 1,027; yacc: 680; lex: 202; sed: 153
file content (36 lines) | stat: -rw-r--r-- 732 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
FSLEN	SEGMENT  BYTE PUBLIC 'CODE'
FSLEN	ENDS
_DATA	SEGMENT  WORD PUBLIC 'DATA'
_DATA	ENDS
CONST	SEGMENT  WORD PUBLIC 'CONST'
CONST	ENDS
_BSS	SEGMENT  WORD PUBLIC 'BSS'
_BSS	ENDS
DGROUP	GROUP	CONST, _BSS, _DATA
	ASSUME  CS: FSLEN, DS: DGROUP, SS: DGROUP, ES: DGROUP

EXTRN	__FCclenv:DWORD

FSLEN   SEGMENT
		PUBLIC	_fslen
_fslen	PROC FAR
		push	bp
		mov		bp,sp

		shl 	WORD PTR [bp+6],1		; desired string # multiplied by 2
		mov		ax,WORD PTR __FCclenv
		mov		dx,WORD PTR __FCclenv+2
		mov		WORD PTR [bp-4],ax
		mov		WORD PTR [bp-2],dx
		les		bx,DWORD PTR [bp-4]
		add		bx,WORD PTR [bp+6]		; offset address of string 'n'
		mov		ax,WORD PTR es:[bx]		; length of string
		cwd

		mov		sp,bp
		pop		bp
		ret

_fslen	ENDP
FSLEN	ENDS
		END