File:  [OS/2 SDKs] / os2sdk / demos / examples / dynlink / dynlib.asm
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 12:26:21 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: os2sdk-1988, HEAD
Microsoft OS/2 SDK 03-01-1988

;	Static Name Aliases
;
;	$S273_beg	EQU	beg
;	$S274_mid	EQU	mid
;	$S275_end	EQU	end
	TITLE   dynlib.c
	NAME    dynlib

	.286p
	.287
_TEXT	SEGMENT  WORD PUBLIC 'CODE'
_TEXT	ENDS
ETHEL	SEGMENT  WORD PUBLIC 'FAR_DATA'
ETHEL	ENDS
ETHEL_CONST	SEGMENT  WORD PUBLIC 'FAR_DATA'
ETHEL_CONST	ENDS
ETHEL_BSS	SEGMENT  WORD PUBLIC 'FAR_DATA'
ETHEL_BSS	ENDS
$$SYMBOLS	SEGMENT  BYTE PUBLIC 'DEBSYM'
$$SYMBOLS	ENDS
$$TYPES	SEGMENT  BYTE PUBLIC 'DEBTYP'
$$TYPES	ENDS
ETHEL_GROUP	GROUP	ETHEL_CONST, ETHEL_BSS, ETHEL
	ASSUME  CS: _TEXT, DS: ETHEL_GROUP, SS: ETHEL_GROUP
PUBLIC  __acrtused
PUBLIC  _id
PUBLIC  _pcount
EXTRN	__acrtused:ABS
EXTRN	DOSWRITE:FAR
ETHEL      SEGMENT
__acrtused	DW	00H
_id	DW	00H
_pcount	DD	00H
$S273_beg	DB	'I am number ',  00H
	ORG	$+1
$S274_mid	DB	'.  There are ',  00H
$S275_end	DB	' processes attached.',  0dH,  00H
ETHEL      ENDS
_TEXT      SEGMENT
	ASSUME	CS: _TEXT
; Line 41
	PUBLIC	INIT_ID
INIT_ID	PROC FAR
	enter	WORD PTR 0,0
	push	di
	push	si
	push	ds
	mov	ax,ETHEL_GROUP
	mov	ds,ax
	ASSUME DS: ETHEL_GROUP
; Line 42
;	pc = 6
; Line 43
	mov	ax,WORD PTR [bp+6]	;pc
	mov	dx,WORD PTR [bp+8]
	mov	WORD PTR _pcount,ax
	mov	WORD PTR _pcount+2,dx
; Line 44
	les	bx,DWORD PTR [bp+6]	;pc
	mov	ax,WORD PTR es:[bx]
	mov	_id,ax
; Line 45
$EX270:
	pop	ds
	ASSUME DS: ETHEL_GROUP
	pop	si
	pop	di
	leave	
	ret	4

INIT_ID	ENDP
; Line 50
	PUBLIC	PRINTDATA
PRINTDATA	PROC FAR
	enter	WORD PTR 4,0
	push	di
	push	si
	push	ds
	mov	ax,ETHEL_GROUP
	mov	ds,ax
	ASSUME DS: ETHEL_GROUP
;	c = -2
;	Written = -4
; Line 51
; Line 52
; Line 53
; Line 54
; Line 55
; Line 57
	push	1
	push	ds
	push	OFFSET $S273_beg
	push	12
	lea	ax,WORD PTR [bp-4]	;Written
	push	ss
	push	ax
	call	FAR PTR DOSWRITE
; Line 58
	mov	al,BYTE PTR _id
	add	al,48
	mov	BYTE PTR [bp-2],al	;c
; Line 59
	push	1
	lea	ax,WORD PTR [bp-2]	;c
	push	ss
	push	ax
	push	1
	lea	ax,WORD PTR [bp-4]	;Written
	push	ss
	push	ax
	call	FAR PTR DOSWRITE
; Line 60
	push	1
	push	ds
	push	OFFSET $S274_mid
	push	13
	lea	ax,WORD PTR [bp-4]	;Written
	push	ss
	push	ax
	call	FAR PTR DOSWRITE
; Line 61
	les	bx,DWORD PTR _pcount
	mov	al,BYTE PTR es:[bx]
	add	al,48
	mov	BYTE PTR [bp-2],al	;c
; Line 62
	push	1
	lea	ax,WORD PTR [bp-2]	;c
	push	ss
	push	ax
	push	1
	lea	ax,WORD PTR [bp-4]	;Written
	push	ss
	push	ax
	call	FAR PTR DOSWRITE
; Line 63
	push	1
	push	ds
	push	OFFSET $S275_end
	push	21
	lea	ax,WORD PTR [bp-4]	;Written
	push	ss
	push	ax
	call	FAR PTR DOSWRITE
; Line 64
$EX272:
	pop	ds
	ASSUME DS: ETHEL_GROUP
	pop	si
	pop	di
	leave	
	ret	

PRINTDATA	ENDP
_TEXT	ENDS
END

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.