|
|
1.1 ! root 1: ; Static Name Aliases ! 2: ; ! 3: ; $S273_beg EQU beg ! 4: ; $S274_mid EQU mid ! 5: ; $S275_end EQU end ! 6: TITLE dynlib.c ! 7: NAME dynlib ! 8: ! 9: .286p ! 10: .287 ! 11: _TEXT SEGMENT WORD PUBLIC 'CODE' ! 12: _TEXT ENDS ! 13: ETHEL SEGMENT WORD PUBLIC 'FAR_DATA' ! 14: ETHEL ENDS ! 15: ETHEL_CONST SEGMENT WORD PUBLIC 'FAR_DATA' ! 16: ETHEL_CONST ENDS ! 17: ETHEL_BSS SEGMENT WORD PUBLIC 'FAR_DATA' ! 18: ETHEL_BSS ENDS ! 19: $$SYMBOLS SEGMENT BYTE PUBLIC 'DEBSYM' ! 20: $$SYMBOLS ENDS ! 21: $$TYPES SEGMENT BYTE PUBLIC 'DEBTYP' ! 22: $$TYPES ENDS ! 23: ETHEL_GROUP GROUP ETHEL_CONST, ETHEL_BSS, ETHEL ! 24: ASSUME CS: _TEXT, DS: ETHEL_GROUP, SS: ETHEL_GROUP ! 25: PUBLIC __acrtused ! 26: PUBLIC _id ! 27: PUBLIC _pcount ! 28: EXTRN __acrtused:ABS ! 29: EXTRN DOSWRITE:FAR ! 30: ETHEL SEGMENT ! 31: __acrtused DW 00H ! 32: _id DW 00H ! 33: _pcount DD 00H ! 34: $S273_beg DB 'I am number ', 00H ! 35: ORG $+1 ! 36: $S274_mid DB '. There are ', 00H ! 37: $S275_end DB ' processes attached.', 0dH, 00H ! 38: ETHEL ENDS ! 39: _TEXT SEGMENT ! 40: ASSUME CS: _TEXT ! 41: ; Line 41 ! 42: PUBLIC INIT_ID ! 43: INIT_ID PROC FAR ! 44: enter WORD PTR 0,0 ! 45: push di ! 46: push si ! 47: push ds ! 48: mov ax,ETHEL_GROUP ! 49: mov ds,ax ! 50: ASSUME DS: ETHEL_GROUP ! 51: ; Line 42 ! 52: ; pc = 6 ! 53: ; Line 43 ! 54: mov ax,WORD PTR [bp+6] ;pc ! 55: mov dx,WORD PTR [bp+8] ! 56: mov WORD PTR _pcount,ax ! 57: mov WORD PTR _pcount+2,dx ! 58: ; Line 44 ! 59: les bx,DWORD PTR [bp+6] ;pc ! 60: mov ax,WORD PTR es:[bx] ! 61: mov _id,ax ! 62: ; Line 45 ! 63: $EX270: ! 64: pop ds ! 65: ASSUME DS: ETHEL_GROUP ! 66: pop si ! 67: pop di ! 68: leave ! 69: ret 4 ! 70: ! 71: INIT_ID ENDP ! 72: ; Line 50 ! 73: PUBLIC PRINTDATA ! 74: PRINTDATA PROC FAR ! 75: enter WORD PTR 4,0 ! 76: push di ! 77: push si ! 78: push ds ! 79: mov ax,ETHEL_GROUP ! 80: mov ds,ax ! 81: ASSUME DS: ETHEL_GROUP ! 82: ; c = -2 ! 83: ; Written = -4 ! 84: ; Line 51 ! 85: ; Line 52 ! 86: ; Line 53 ! 87: ; Line 54 ! 88: ; Line 55 ! 89: ; Line 57 ! 90: push 1 ! 91: push ds ! 92: push OFFSET $S273_beg ! 93: push 12 ! 94: lea ax,WORD PTR [bp-4] ;Written ! 95: push ss ! 96: push ax ! 97: call FAR PTR DOSWRITE ! 98: ; Line 58 ! 99: mov al,BYTE PTR _id ! 100: add al,48 ! 101: mov BYTE PTR [bp-2],al ;c ! 102: ; Line 59 ! 103: push 1 ! 104: lea ax,WORD PTR [bp-2] ;c ! 105: push ss ! 106: push ax ! 107: push 1 ! 108: lea ax,WORD PTR [bp-4] ;Written ! 109: push ss ! 110: push ax ! 111: call FAR PTR DOSWRITE ! 112: ; Line 60 ! 113: push 1 ! 114: push ds ! 115: push OFFSET $S274_mid ! 116: push 13 ! 117: lea ax,WORD PTR [bp-4] ;Written ! 118: push ss ! 119: push ax ! 120: call FAR PTR DOSWRITE ! 121: ; Line 61 ! 122: les bx,DWORD PTR _pcount ! 123: mov al,BYTE PTR es:[bx] ! 124: add al,48 ! 125: mov BYTE PTR [bp-2],al ;c ! 126: ; Line 62 ! 127: push 1 ! 128: lea ax,WORD PTR [bp-2] ;c ! 129: push ss ! 130: push ax ! 131: push 1 ! 132: lea ax,WORD PTR [bp-4] ;Written ! 133: push ss ! 134: push ax ! 135: call FAR PTR DOSWRITE ! 136: ; Line 63 ! 137: push 1 ! 138: push ds ! 139: push OFFSET $S275_end ! 140: push 21 ! 141: lea ax,WORD PTR [bp-4] ;Written ! 142: push ss ! 143: push ax ! 144: call FAR PTR DOSWRITE ! 145: ; Line 64 ! 146: $EX272: ! 147: pop ds ! 148: ASSUME DS: ETHEL_GROUP ! 149: pop si ! 150: pop di ! 151: leave ! 152: ret ! 153: ! 154: PRINTDATA ENDP ! 155: _TEXT ENDS ! 156: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.