Annotation of os2sdk/demos/examples/dynlink/dynlib2.asm, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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