|
|
1.1 ! root 1: ; Static Name Aliases ! 2: ; ! 3: ; $S270_beg EQU beg ! 4: ; $S271_First EQU First ! 5: ; $S272_NotFirst EQU NotFirst ! 6: TITLE dynlib2.c ! 7: NAME dynlib2 ! 8: ! 9: .286p ! 10: .287 ! 11: _TEXT SEGMENT WORD PUBLIC 'CODE' ! 12: _TEXT ENDS ! 13: FRED SEGMENT WORD PUBLIC 'FAR_DATA' ! 14: FRED ENDS ! 15: FRED_CONST SEGMENT WORD PUBLIC 'FAR_DATA' ! 16: FRED_CONST ENDS ! 17: FRED_BSS SEGMENT WORD PUBLIC 'FAR_DATA' ! 18: FRED_BSS ENDS ! 19: $$SYMBOLS SEGMENT BYTE PUBLIC 'DEBSYM' ! 20: $$SYMBOLS ENDS ! 21: $$TYPES SEGMENT BYTE PUBLIC 'DEBTYP' ! 22: $$TYPES ENDS ! 23: FRED_GROUP GROUP FRED_CONST, FRED_BSS, FRED ! 24: ASSUME CS: _TEXT, DS: FRED_GROUP, SS: FRED_GROUP ! 25: PUBLIC _count ! 26: EXTRN __acrtused:ABS ! 27: EXTRN INIT_ID:FAR ! 28: EXTRN DOSWRITE:FAR ! 29: FRED SEGMENT ! 30: $SG277 DB '.', 0aH, 0dH, 00H ! 31: _count DW 00H ! 32: $S270_beg DB 'I am number ', 00H ! 33: ORG $+1 ! 34: $S271_First DB 'First time initialization.', 0aH, 0dH, 00H ! 35: ORG $+1 ! 36: $S272_NotFirst DB 'Not first time initialization.', 0aH, 0dH, 00H ! 37: FRED ENDS ! 38: _TEXT SEGMENT ! 39: ASSUME CS: _TEXT ! 40: ; Line 21 ! 41: PUBLIC INITROUTINE ! 42: INITROUTINE PROC FAR ! 43: enter WORD PTR 4,0 ! 44: push di ! 45: push si ! 46: push ds ! 47: mov ax,FRED_GROUP ! 48: mov ds,ax ! 49: ASSUME DS: FRED_GROUP ! 50: ; c = -2 ! 51: ; Written = -4 ! 52: ; Line 22 ! 53: ; Line 23 ! 54: ; Line 24 ! 55: ; Line 25 ! 56: ; Line 26 ! 57: mov WORD PTR [bp-4],0 ;Written ! 58: ; Line 28 ! 59: mov ax,_count ! 60: inc WORD PTR _count ! 61: cmp ax,0 ! 62: je $JCC27 ! 63: jmp $I275 ! 64: $JCC27: ! 65: ; Line 29 ! 66: ; Line 30 ! 67: push 1 ! 68: push ds ! 69: push OFFSET $S271_First ! 70: push 28 ! 71: lea ax,WORD PTR [bp-4] ;Written ! 72: push ss ! 73: push ax ! 74: call FAR PTR DOSWRITE ! 75: ; Line 31 ! 76: ; Line 32 ! 77: jmp $I276 ! 78: $I275: ! 79: ; Line 33 ! 80: ; Line 34 ! 81: push 1 ! 82: push ds ! 83: push OFFSET $S272_NotFirst ! 84: push 32 ! 85: lea ax,WORD PTR [bp-4] ;Written ! 86: push ss ! 87: push ax ! 88: call FAR PTR DOSWRITE ! 89: ; Line 35 ! 90: $I276: ! 91: ; Line 36 ! 92: push 1 ! 93: push ds ! 94: push OFFSET $S270_beg ! 95: push 12 ! 96: lea ax,WORD PTR [bp-4] ;Written ! 97: push ss ! 98: push ax ! 99: call FAR PTR DOSWRITE ! 100: ; Line 37 ! 101: mov al,BYTE PTR _count ! 102: add al,48 ! 103: mov BYTE PTR [bp-2],al ;c ! 104: ; Line 38 ! 105: push 1 ! 106: lea ax,WORD PTR [bp-2] ;c ! 107: push ss ! 108: push ax ! 109: push 1 ! 110: lea ax,WORD PTR [bp-4] ;Written ! 111: push ss ! 112: push ax ! 113: call FAR PTR DOSWRITE ! 114: ; Line 39 ! 115: push 1 ! 116: push ds ! 117: push OFFSET $SG277 ! 118: push 3 ! 119: lea ax,WORD PTR [bp-4] ;Written ! 120: push ss ! 121: push ax ! 122: call FAR PTR DOSWRITE ! 123: ; Line 40 ! 124: push ds ! 125: push OFFSET _count ! 126: call FAR PTR INIT_ID ! 127: ; Line 41 ! 128: ; Line 42 ! 129: mov ax,1 ! 130: jmp $EX269 ! 131: ; Line 43 ! 132: $EX269: ! 133: pop ds ! 134: ASSUME DS: FRED_GROUP ! 135: pop si ! 136: pop di ! 137: leave ! 138: ret ! 139: ! 140: INITROUTINE ENDP ! 141: _TEXT ENDS ! 142: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.