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

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

unix.superglobalmegacorp.com

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