File:  [OS/2 SDKs] / os2sdk / demos / examples / dynlink / dynlib2.asm
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 12:26:22 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
;
;	$S270_beg	EQU	beg
;	$S271_First	EQU	First
;	$S272_NotFirst	EQU	NotFirst
	TITLE   dynlib2.c
	NAME    dynlib2

	.286p
	.287
_TEXT	SEGMENT  WORD PUBLIC 'CODE'
_TEXT	ENDS
FRED	SEGMENT  WORD PUBLIC 'FAR_DATA'
FRED	ENDS
FRED_CONST	SEGMENT  WORD PUBLIC 'FAR_DATA'
FRED_CONST	ENDS
FRED_BSS	SEGMENT  WORD PUBLIC 'FAR_DATA'
FRED_BSS	ENDS
$$SYMBOLS	SEGMENT  BYTE PUBLIC 'DEBSYM'
$$SYMBOLS	ENDS
$$TYPES	SEGMENT  BYTE PUBLIC 'DEBTYP'
$$TYPES	ENDS
FRED_GROUP	GROUP	FRED_CONST, FRED_BSS, FRED
	ASSUME  CS: _TEXT, DS: FRED_GROUP, SS: FRED_GROUP
PUBLIC  _count
EXTRN	__acrtused:ABS
EXTRN	INIT_ID:FAR
EXTRN	DOSWRITE:FAR
FRED      SEGMENT
$SG277	DB	'.',  0aH,  0dH,  00H
_count	DW	00H
$S270_beg	DB	'I am number ',  00H
	ORG	$+1
$S271_First	DB	'First time initialization.',  0aH,  0dH,  00H
	ORG	$+1
$S272_NotFirst	DB	'Not first time initialization.',  0aH,  0dH,  00H
FRED      ENDS
_TEXT      SEGMENT
	ASSUME	CS: _TEXT
; Line 21
	PUBLIC	INITROUTINE
INITROUTINE	PROC FAR
	enter	WORD PTR 4,0
	push	di
	push	si
	push	ds
	mov	ax,FRED_GROUP
	mov	ds,ax
	ASSUME DS: FRED_GROUP
;	c = -2
;	Written = -4
; Line 22
; Line 23
; Line 24
; Line 25
; Line 26
	mov	WORD PTR [bp-4],0	;Written
; Line 28
	mov	ax,_count
	inc	WORD PTR _count
	cmp	ax,0
	je	$JCC27
	jmp	$I275
$JCC27:
; Line 29
; Line 30
	push	1
	push	ds
	push	OFFSET $S271_First
	push	28
	lea	ax,WORD PTR [bp-4]	;Written
	push	ss
	push	ax
	call	FAR PTR DOSWRITE
; Line 31
; Line 32
	jmp	$I276
$I275:
; Line 33
; Line 34
	push	1
	push	ds
	push	OFFSET $S272_NotFirst
	push	32
	lea	ax,WORD PTR [bp-4]	;Written
	push	ss
	push	ax
	call	FAR PTR DOSWRITE
; Line 35
$I276:
; Line 36
	push	1
	push	ds
	push	OFFSET $S270_beg
	push	12
	lea	ax,WORD PTR [bp-4]	;Written
	push	ss
	push	ax
	call	FAR PTR DOSWRITE
; Line 37
	mov	al,BYTE PTR _count
	add	al,48
	mov	BYTE PTR [bp-2],al	;c
; Line 38
	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 39
	push	1
	push	ds
	push	OFFSET $SG277
	push	3
	lea	ax,WORD PTR [bp-4]	;Written
	push	ss
	push	ax
	call	FAR PTR DOSWRITE
; Line 40
	push	ds
	push	OFFSET _count
	call	FAR PTR INIT_ID
; Line 41
; Line 42
	mov	ax,1
	jmp	$EX269
; Line 43
$EX269:
	pop	ds
	ASSUME DS: FRED_GROUP
	pop	si
	pop	di
	leave	
	ret	

INITROUTINE	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.