4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 1


                               PAGE  59,132

                               ;��������������������������������������������������������������������������
                               ;��                                                                      ��
                               ;��                             4096                                     ��
                               ;��                                                                      ��
                               ;��      Created:   6-Jul-85                                             ��
                               ;��      Passes:    5          Analysis Flags on: HQRS                   ��
                               ;��                                                                      ��
                               ;��������������������������������������������������������������������������

    = 000A                     data_1e         equ     0Ah                     ; (0000:000A=0ECh)
    = 0012                     data_3e         equ     12h                     ; (0000:0012=70h)
    = 0014                     data_4e         equ     14h                     ; (0000:0014=0FF54h)
    = 0018                     data_5e         equ     18h                     ; (0000:0018=0EAA6h)
    = 001A                     data_6e         equ     1Ah                     ; (0000:001A=0F000h)
    = FD9F                     data_7e         equ     0FD9Fh                  ; (0000:FD9F=0)
    = FDA1                     data_8e         equ     0FDA1h                  ; (0000:FDA1=0)
    = FDA3                     data_9e         equ     0FDA3h                  ; (0000:FDA3=0)
    = 000A                     data_10e        equ     0Ah                     ; (0080:000A=0)
    = 000C                     data_11e        equ     0Ch                     ; (0080:000C=0)
    = FD9F                     data_12e        equ     0FD9Fh                  ; (0080:FD9F=0AD65h)
    = FDA1                     data_13e        equ     0FDA1h                  ; (0080:FDA1=0B295h)
    = FDA3                     data_14e        equ     0FDA3h                  ; (0080:FDA3=0EB10h)
    = 0001                     data_15e        equ     1                       ; (48FF:0001=0FFFFh)
    = 0001                     data_16e        equ     1                       ; (72F1:0001=0FFFFh)
    = 0003                     data_17e        equ     3                       ; (72F2:0003=0)
    = 0006                     data_19e        equ     6                       ; (72F2:0006=0)
    = 0008                     data_20e        equ     8                       ; (72F2:0008=0)
    = 0020                     data_21e        equ     20h                     ; (72F2:0020=0)
    = 118D                     data_24e        equ     118Dh                   ; (72F2:118D=0)
    = 1200                     data_25e        equ     1200h                   ; (72F2:1200=0)
    = 1204                     data_28e        equ     1204h                   ; (72F2:1204=0)
    = 1208                     data_29e        equ     1208h                   ; (72F2:1208=0)
    = 120A                     data_30e        equ     120Ah                   ; (72F2:120A=0)
    = 120C                     data_31e        equ     120Ch                   ; (72F2:120C=0)
    = 120E                     data_32e        equ     120Eh                   ; (72F2:120E=0)
    = 1210                     data_33e        equ     1210h                   ; (72F2:1210=0)
    = 1214                     data_34e        equ     1214h                   ; (72F2:1214=0)
    = 1216                     data_35e        equ     1216h                   ; (72F2:1216=0)
    = 1224                     data_36e        equ     1224h                   ; (72F2:1224=0)
    = 1226                     data_37e        equ     1226h                   ; (72F2:1226=0)
    = 1228                     data_38e        equ     1228h                   ; (72F2:1228=0)
    = 1229                     data_39e        equ     1229h                   ; (72F2:1229=0)
    = 122B                     data_40e        equ     122Bh                   ; (72F2:122B=0)
    = 122D                     data_41e        equ     122Dh                   ; (72F2:122D=0)
    = 122F                     data_42e        equ     122Fh                   ; (72F2:122F=0)
    = 1231                     data_43e        equ     1231h                   ; (72F2:1231=0)
    = 1235                     data_45e        equ     1235h                   ; (72F2:1235=0)
    = 1239                     data_46e        equ     1239h                   ; (72F2:1239=0)
    = 123B                     data_47e        equ     123Bh                   ; (72F2:123B=0)
    = 123D                     data_48e        equ     123Dh                   ; (72F2:123D=0)
    = 123F                     data_49e        equ     123Fh                   ; (72F2:123F=0)
    = 1245                     data_50e        equ     1245h                   ; (72F2:1245=0)
    = 1249                     data_51e        equ     1249h                   ; (72F2:1249=0)
    = 124E                     data_52e        equ     124Eh                   ; (72F2:124E=0)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 2

    = 1250                     data_53e        equ     1250h                   ; (72F2:1250=0)
    = 1251                     data_54e        equ     1251h                   ; (72F2:1251=0)
    = 12A2                     data_55e        equ     12A2h                   ; (72F2:12A2=0)
    = 12A3                     data_56e        equ     12A3h                   ; (72F2:12A3=0)
    = 12A5                     data_57e        equ     12A5h                   ; (72F2:12A5=0)
    = 12A7                     data_58e        equ     12A7h                   ; (72F2:12A7=0)
    = 12A9                     data_59e        equ     12A9h                   ; (72F2:12A9=0)
    = 12AB                     data_60e        equ     12ABh                   ; (72F2:12AB=0)
    = 12AD                     data_61e        equ     12ADh                   ; (72F2:12AD=0)
    = 12AF                     data_62e        equ     12AFh                   ; (72F2:12AF=0)
    = 12B1                     data_63e        equ     12B1h                   ; (72F2:12B1=0)
    = 12B3                     data_64e        equ     12B3h                   ; (72F2:12B3=0)
    = 12DA                     data_65e        equ     12DAh                   ; (72F2:12DA=0)
    = 12DD                     data_66e        equ     12DDh                   ; (72F2:12DD=0)
    = 12DF                     data_67e        equ     12DFh                   ; (72F2:12DF=0)
    = 12E1                     data_68e        equ     12E1h                   ; (72F2:12E1=0)
    = 12E2                     data_69e        equ     12E2h                   ; (72F2:12E2=0)
    = 12E5                     data_70e        equ     12E5h                   ; (72F2:12E5=0)
    = 12E6                     data_71e        equ     12E6h                   ; (72F2:12E6=0)
    = 12E8                     data_72e        equ     12E8h                   ; (72F2:12E8=0)
    = 12EA                     data_73e        equ     12EAh                   ; (72F2:12EA=0)
    = 12EC                     data_74e        equ     12ECh                   ; (72F2:12EC=0)
    = 12EE                     data_75e        equ     12EEh                   ; (72F2:12EE=0)
    = 12EF                     data_76e        equ     12EFh                   ; (72F2:12EF=0)
    = 12FF                     data_77e        equ     12FFh                   ; (72F2:12FF=0)
    = 1301                     data_78e        equ     1301h                   ; (72F2:1301=0)
    = 1303                     data_79e        equ     1303h                   ; (72F2:1303=0)
    = 1357                     data_81e        equ     1357h                   ; (72F2:1357=0)
    = 1359                     data_82e        equ     1359h                   ; (72F2:1359=0)
    = 135B                     data_83e        equ     135Bh                   ; (72F2:135B=0)
    = 135D                     data_84e        equ     135Dh                   ; (72F2:135D=0)
    = 7C0A                     data_85e        equ     7C0Ah                   ; (72F2:7C0A=0)
    = 7CD7                     data_86e        equ     7CD7h                   ; (72F2:7CD7=0)
    = 7CE2                     data_87e        equ     7CE2h                   ; (72F2:7CE2=0)
    = 7CE7                     data_88e        equ     7CE7h                   ; (72F2:7CE7=0)
    = 0000                     data_89e        equ     0                       ; (FEA0:0000=8Bh)
    = 0001                     data_90e        equ     1                       ; (FEA0:0001=0E8C7h)
    = 0003                     data_91e        equ     3                       ; (FEA0:0003=0Bh)

                               seg_a           segment
                                               assume  cs:seg_a, ds:seg_a


                                               org     100h

                               4096            proc    far

72F2:0100                       start:
72F2:0100  E9 0285                              jmp     loc_6                   ; (0388)
72F2:0103  09 15 71 21 CD                       db      9, 15h, 71h, 21h, 0CDh
72F2:0108  20 48 65 6C 6C 6F                    db      ' Hello, world!$'
72F2:010E  2C 20 77 6F 72 6C
72F2:0114  64 21 24
72F2:0117  08 00 74 0B BA F9                    db      8, 0, 74h, 0Bh, 0BAh, 0F9h
72F2:011D  E8 8A 00 00 E9 A7                    db      0E8h, 8Ah, 0, 0, 0E9h, 0A7h
72F2:0123  00 B4 09 BA 09 01                    db      0, 0B4h, 9, 0BAh, 9, 1
72F2:0129  CD 21 CD                             db      0CDh, 21h, 0CDh
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 3

72F2:012C  20 48 65 6C 6C 6F                    db      ' Hello, world!$'
72F2:0132  2C 20 77 6F 72 6C
72F2:0138  64 21 24
72F2:013B  08 00 74 0B BA 00                    db      8, 0, 74h, 0Bh, 0BAh, 0
72F2:0141  FE 3A 55 8B EC 50                    db      0FEh, 3Ah, 55h, 8Bh, 0ECh, 50h
72F2:0147  81 7E 04 00 C0 73                    db      81h, 7Eh, 4, 0, 0C0h, 73h
72F2:014D  0C 2E A1 47 12 39                    db      0Ch, 2Eh, 0A1h, 47h, 12h, 39h
72F2:0153  46 04 76 03                          db      46h, 4, 76h, 3
72F2:0157                       loc_1:                                          ;  xref 72F2:0192, 0199
72F2:0157  58                                   pop     ax
72F2:0158  5D                                   pop     bp
72F2:0159  CF                                   iret                            ; Interrupt return
72F2:015A                       loc_2:
72F2:015A  2E:80 3E 1250 01                     cmp     byte ptr cs:data_53e,1  ; (72F2:1250=0)
72F2:0160  74 32                                je      loc_4                   ; Jump if equal
72F2:0162  8B 46 04                             mov     ax,[bp+4]
72F2:0165  2E:A3 122F                           mov     cs:data_42e,ax          ; (72F2:122F=0)
72F2:0169  8B 46 02                             mov     ax,[bp+2]
72F2:016C  2E:A3 122D                           mov     cs:data_41e,ax          ; (72F2:122D=0)
72F2:0170  72 15                                jc      loc_3                   ; Jump if carry Set
72F2:0172  58                                   pop     ax
72F2:0173  5D                                   pop     bp
72F2:0174  2E:8E 16 12DD                        mov     ss,cs:data_66e          ; (72F2:12DD=0)
72F2:0179  2E:8B 26 12DF                        mov     sp,cs:data_67e          ; (72F2:12DF=0)
72F2:017E  2E:A0 12E5                           mov     al,cs:data_70e          ; (72F2:12E5=0)
72F2:0182  E6 21                                out     21h,al                  ; port 21h, 8259-1 int comands
72F2:0184  E9 0CD9                              jmp     loc_62                  ; (0E60)
72F2:0187                       loc_3:                                          ;  xref 72F2:0170, 01B3
72F2:0187  81 66 06 FEFF                        and     word ptr [bp+6],0FEFFh
72F2:018C  2E:A0 12E5                           mov     al,cs:data_70e          ; (72F2:12E5=0)
72F2:0190  E6 21                                out     21h,al                  ; port 21h, 8259-1 int comands
72F2:0192  EB C3                                jmp     short loc_1             ; (0157)
72F2:0194                       loc_4:                                          ;  xref 72F2:0160
72F2:0194  2E:FE 0E 1251                        dec     byte ptr cs:data_54e    ; (72F2:1251=0)
72F2:0199  75 BC                                jnz     loc_1                   ; Jump if not zero
72F2:019B  81 66 06 FEFF                        and     word ptr [bp+6],0FEFFh
72F2:01A0  E8 0D6C                              call    sub_21                  ; (0F0F)
72F2:01A3  E8 0D34                              call    sub_18                  ; (0EDA)
72F2:01A6  2E:C5 16 1231                        lds     dx,dword ptr cs:data_43e        ; (72F2:1231=0) Load 32 bit ptr
72F2:01AB  B0 01                                mov     al,1
72F2:01AD  E8 0F0C                              call    sub_26                  ; (10BC)
72F2:01B0  E8 0D53                              call    sub_20                  ; (0F06)
72F2:01B3  EB D2                                jmp     short loc_3             ; (0187)

                               4096            endp

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0DF3, 0E0A, 0E18, 0E75, 0F3E
                               ;��������������������������������������������������������������������������

                               sub_1           proc    near
72F2:01B5  1E                                   push    ds
72F2:01B6  56                                   push    si
72F2:01B7  33 F6                                xor     si,si                   ; Zero register
72F2:01B9  8E DE                                mov     ds,si
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 4

72F2:01BB  32 E4                                xor     ah,ah                   ; Zero register
72F2:01BD  8B F0                                mov     si,ax
72F2:01BF  D1 E6                                shl     si,1                    ; Shift w/zeros fill
72F2:01C1  D1 E6                                shl     si,1                    ; Shift w/zeros fill
72F2:01C3  8B 1C                                mov     bx,[si]
72F2:01C5  8E 44 02                             mov     es,[si+2]
72F2:01C8  5E                                   pop     si
72F2:01C9  1F                                   pop     ds
72F2:01CA  C3                                   retn
                               sub_1           endp

72F2:01CB  2E C7 06 5B 13 00                    db      2Eh, 0C7h, 6, 5Bh, 13h, 0
72F2:01D1  16 2E A3 E3 12 B4                    db      16h, 2Eh, 0A3h, 0E3h, 12h, 0B4h
72F2:01D7  30 CD 21 2E A2 EE                    db      30h, 0CDh, 21h, 2Eh, 0A2h, 0EEh
72F2:01DD  12 2E 8C 1E 45 12                    db      12h, 2Eh, 8Ch, 1Eh, 45h, 12h
72F2:01E3  B4 52 CD 21 26 8B                    db      0B4h, 52h, 0CDh, 21h, 26h, 8Bh
72F2:01E9  47 FE 2E A3 47 12                    db      47h, 0FEh, 2Eh, 0A3h, 47h, 12h
72F2:01EF  8E C0 26 A1 01 00                    db      8Eh, 0C0h, 26h, 0A1h, 1, 0
72F2:01F5  2E A3 49 12 0E 1F                    db      2Eh, 0A3h, 49h, 12h, 0Eh, 1Fh
72F2:01FB  B0 01 E8 B5 FF 89                    db      0B0h, 1, 0E8h, 0B5h, 0FFh, 89h
72F2:0201  1E 31 12 8C 06 33                    db      1Eh, 31h, 12h, 8Ch, 6, 33h
72F2:0207  12 B0 21 E8 A8 FF                    db      12h, 0B0h, 21h, 0E8h, 0A8h, 0FFh
72F2:020D  89 1E 2D 12 8C 06                    db      89h, 1Eh, 2Dh, 12h, 8Ch, 6
72F2:0213  2F 12 C6 06 50 12                    db      2Fh, 12h, 0C6h, 6, 50h, 12h
72F2:0219  00 BA 23 00 B0 01                    db      0, 0BAh, 23h, 0, 0B0h, 1
72F2:021F  E8 9A 0E 9C 58 0D                    db      0E8h, 9Ah, 0Eh, 9Ch, 58h, 0Dh
72F2:0225  00 01 50 E4 21 A2                    db      0, 1, 50h, 0E4h, 21h, 0A2h
72F2:022B  E5 12 B0 FF E6 21                    db      0E5h, 12h, 0B0h, 0FFh, 0E6h, 21h
72F2:0231  9D B4 52 9C FF 1E                    db      9Dh, 0B4h, 52h, 9Ch, 0FFh, 1Eh
72F2:0237  2D 12 9C 58 25 FF                    db      2Dh, 12h, 9Ch, 58h, 25h, 0FFh
72F2:023D  FE 50 9D A0 E5 12                    db      0FEh, 50h, 9Dh, 0A0h, 0E5h, 12h
72F2:0243  E6 21 1E C5 16 31                    db      0E6h, 21h, 1Eh, 0C5h, 16h, 31h
72F2:0249  12 B0 01 E8 6D 0E                    db      12h, 0B0h, 1, 0E8h, 6Dh, 0Eh
72F2:024F  1F C4 3E 2D 12 89                    db      1Fh, 0C4h, 3Eh, 2Dh, 12h, 89h
72F2:0255  3E 35 12 8C 06 37                    db      3Eh, 35h, 12h, 8Ch, 6, 37h
72F2:025B  12 C6 06 4B 12 EA                    db      12h, 0C6h, 6, 4Bh, 12h, 0EAh
72F2:0261  C7 06 4C 12 CC 02                    db      0C7h, 6, 4Ch, 12h, 0CCh, 2
72F2:0267  8C 0E 4E 12 E8 6C                    db      8Ch, 0Eh, 4Eh, 12h, 0E8h, 6Ch
72F2:026D  0C B8 00 4B 88 26                    db      0Ch, 0B8h, 0, 4Bh, 88h, 26h
72F2:0273  E2 12 BA 21 00 FF                    db      0E2h, 12h, 0BAh, 21h, 0, 0FFh
72F2:0279  36 20 00 CD 21 8F                    db      36h, 20h, 0, 0CDh, 21h, 8Fh
72F2:027F  06 20 00 26 83 45                    db      6, 20h, 0, 26h, 83h, 45h
72F2:0285  FC 09 90 8E 06 45                    db      0FCh, 9, 90h, 8Eh, 6, 45h
72F2:028B  12 8E 1E 45 12 81                    db      12h, 8Eh, 1Eh, 45h, 12h, 81h
72F2:0291  2E 02 00 61 01 8B                    db      2Eh, 2, 0, 61h, 1, 8Bh
72F2:0297  2E 02 00 8C DA 2B                    db      2Eh, 2, 0, 8Ch, 0DAh, 2Bh
72F2:029D  EA B4 4A BB FF FF                    db      0EAh, 0B4h, 4Ah, 0BBh, 0FFh, 0FFh
72F2:02A3  CD 21 B4 4A CD 21                    db      0CDh, 21h, 0B4h, 4Ah, 0CDh, 21h
72F2:02A9  4A 8E DA 80 3E 00                    db      4Ah, 8Eh, 0DAh, 80h, 3Eh, 0
72F2:02AF  00 5A 74 05 2E FE                    db      0, 5Ah, 74h, 5, 2Eh, 0FEh
72F2:02B5  0E E2 12 2E 80 3E                    db      0Eh, 0E2h, 12h, 2Eh, 80h, 3Eh
72F2:02BB  E2 12 00 74 05 C6                    db      0E2h, 12h, 0, 74h, 5, 0C6h
72F2:02C1  06 00 00                             db      6, 0, 0
72F2:02C4  4D                                   db      4Dh
72F2:02C5                       loc_5:
72F2:02C5  A1 0003                              mov     ax,ds:data_17e          ; (72F2:0003=0)
72F2:02C8  8B D8                                mov     bx,ax
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 5

72F2:02CA  2D 0161                              sub     ax,161h
72F2:02CD  03 D0                                add     dx,ax
72F2:02CF  A3 0003                              mov     ds:data_17e,ax          ; (72F2:0003=0)
72F2:02D2  42                                   inc     dx
72F2:02D3  8E C2                                mov     es,dx
72F2:02D5  26:C6 06 0000 5A                     mov     byte ptr es:data_89e,5Ah        ; (FEA0:0000=8Bh) 'Z'
72F2:02DB  2E:FF 36 1249                        push    word ptr cs:data_51e    ; (72F2:1249=0)
72F2:02E0  26:8F 06 0001                        pop     word ptr es:data_90e    ; (FEA0:0001=0E8C7h)
72F2:02E5  26:C7 06 0003 0160                   mov     word ptr es:data_91e,160h       ; (FEA0:0003=0Bh)
72F2:02EC  42                                   inc     dx
72F2:02ED  8E C2                                mov     es,dx
72F2:02EF  0E                                   push    cs
72F2:02F0  1F                                   pop     ds
72F2:02F1  B9 0B00                              mov     cx,0B00h
72F2:02F4  BE 15FE                              mov     si,15FEh
72F2:02F7  8B FE                                mov     di,si
72F2:02F9  FD                                   std                             ; Set direction flag
72F2:02FA  F3/A5                                rep     movsw                   ; Rep while cx>0 Mov [si] to es:[di]
72F2:02FC  FC                                   cld                             ; Clear direction
72F2:02FD  06                                   push    es
72F2:02FE  B8 01EE                              mov     ax,1EEh
72F2:0301  50                                   push    ax
72F2:0302  2E:8E 06 1245                        mov     es,cs:data_50e          ; (72F2:1245=0)
72F2:0307  B4 4A                                mov     ah,4Ah                  ; 'J'
72F2:0309  8B DD                                mov     bx,bp
72F2:030B  CD 21                                int     21h                     ; DOS Services  ah=function 4Ah
                                                                               ;  change mem allocation, bx=siz
72F2:030D  CB                                   retf                            ; Return far
72F2:030E  E8 C9 0B 2E 8C 0E                    db      0E8h, 0C9h, 0Bh, 2Eh, 8Ch, 0Eh
72F2:0314  4E 12 E8 C1 0B 0E                    db      4Eh, 12h, 0E8h, 0C1h, 0Bh, 0Eh
72F2:031A  1F C6 06 A2 12 14                    db      1Fh, 0C6h, 6, 0A2h, 12h, 14h
72F2:0320  0E 07 BF 52 12 B9                    db      0Eh, 7, 0BFh, 52h, 12h, 0B9h
72F2:0326  14 00 33 C0 F3 AB                    db      14h, 0, 33h, 0C0h, 0F3h, 0ABh
72F2:032C  A2 EF 12 A1 45 12                    db      0A2h, 0EFh, 12h, 0A1h, 45h, 12h
72F2:0332  8E C0 26 C5 16 0A                    db      8Eh, 0C0h, 26h, 0C5h, 16h, 0Ah
72F2:0338  00 8E D8 05 10 00                    db      0, 8Eh, 0D8h, 5, 10h, 0
72F2:033E  2E 01 06 1A 00 2E                    db      2Eh, 1, 6, 1Ah, 0, 2Eh
72F2:0344  80 3E 20 00 00 75                    db      80h, 3Eh, 20h, 0, 0, 75h
72F2:034A  24 FB 2E A1 04 00                    db      24h, 0FBh, 2Eh, 0A1h, 4, 0
72F2:0350  A3 00 01 2E A1 06                    db      0A3h, 0, 1, 2Eh, 0A1h, 6
72F2:0356  00 A3 02 01 2E A1                    db      0, 0A3h, 2, 1, 2Eh, 0A1h
72F2:035C  08 00 A3 04 01 2E                    db      8, 0, 0A3h, 4, 1, 2Eh
72F2:0362  FF 36 45 12 B8 00                    db      0FFh, 36h, 45h, 12h, 0B8h, 0
72F2:0368  01 50 2E A1 E3 12                    db      1, 50h, 2Eh, 0A1h, 0E3h, 12h
72F2:036E  CB 2E 01 06 12 00                    db      0CBh, 2Eh, 1, 6, 12h, 0
72F2:0374  2E A1 E3 12 2E 8E                    db      2Eh, 0A1h, 0E3h, 12h, 2Eh, 8Eh
72F2:037A  16 12 00 2E 8B 26                    db      16h, 12h, 0, 2Eh, 8Bh, 26h
72F2:0380  14 00 FB 2E FF 2E                    db      14h, 0, 0FBh, 2Eh, 0FFh, 2Eh
72F2:0386  18 00                                db      18h, 0
72F2:0388                       loc_6:                                          ;  xref 72F2:0100
72F2:0388  81 FC 0100                           cmp     sp,100h
72F2:038C  77 02                                ja      loc_7                   ; Jump if above
72F2:038E  33 E4                                xor     sp,sp                   ; Zero register
72F2:0390                       loc_7:                                          ;  xref 72F2:038C
72F2:0390  8B E8                                mov     bp,ax
72F2:0392  E8 0000                              call    sub_2                   ; (0395)

    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 6

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0392
                               ;��������������������������������������������������������������������������

                               sub_2           proc    near
72F2:0395  59                                   pop     cx
72F2:0396  81 E9 0275                           sub     cx,275h
72F2:039A  8C C8                                mov     ax,cs
72F2:039C  BB 0010                              mov     bx,10h
72F2:039F  F7 E3                                mul     bx                      ; dx:ax = reg * ax
72F2:03A1  03 C1                                add     ax,cx
72F2:03A3  83 D2 00                             adc     dx,0
72F2:03A6  F7 F3                                div     bx                      ; ax,dx rem=dx:ax/reg
72F2:03A8  50                                   push    ax
72F2:03A9  B8 00AB                              mov     ax,0ABh
72F2:03AC  50                                   push    ax
72F2:03AD  8B C5                                mov     ax,bp
72F2:03AF  CB                                   retf                            ; Return far
                               sub_2           endp

72F2:03B0  30 7C 07 23 4E 04                    db      30h, 7Ch, 7, 23h, 4Eh, 4
72F2:03B6  37 8B 0E 4B 8B 05                    db      37h, 8Bh, 0Eh, 4Bh, 8Bh, 5
72F2:03BC  3C D5 04 3D 11 05                    db      3Ch, 0D5h, 4, 3Dh, 11h, 5
72F2:03C2  3E 55 05 0F 9B 03                    db      3Eh, 55h, 5, 0Fh, 9Bh, 3
72F2:03C8  14 CD 03 21 C1 03                    db      14h, 0CDh, 3, 21h, 0C1h, 3
72F2:03CE  27 BF 03 11 59 03                    db      27h, 0BFh, 3, 11h, 59h, 3
72F2:03D4  12 59 03 4E 9F 04                    db      12h, 59h, 3, 4Eh, 9Fh, 4
72F2:03DA  4F 9F 04 3F A5 0A                    db      4Fh, 9Fh, 4, 3Fh, 0A5h, 0Ah
72F2:03E0  40 8A 0B 42 90 0A                    db      40h, 8Ah, 0Bh, 42h, 90h, 0Ah
72F2:03E6  57 41 0A 48 34 0E                    db      57h, 41h, 0Ah, 48h, 34h, 0Eh
72F2:03EC  3D 00 4B 75 04 2E                    db      3Dh, 0, 4Bh, 75h, 4, 2Eh
72F2:03F2  A2 E2 12 55 8B EC                    db      0A2h, 0E2h, 12h, 55h, 8Bh, 0ECh
72F2:03F8  FF 76 06 2E 8F 06                    db      0FFh, 76h, 6, 2Eh, 8Fh, 6
72F2:03FE  B3 12 5D 55 8B EC                    db      0B3h, 12h, 5Dh, 55h, 8Bh, 0ECh
72F2:0404  E8 08 0B E8 D0 0A                    db      0E8h, 8, 0Bh, 0E8h, 0D0h, 0Ah
72F2:040A  E8 9A 0A E8 F6 0A                    db      0E8h, 9Ah, 0Ah, 0E8h, 0F6h, 0Ah
72F2:0410  E8 B4 0A 53 BB 90                    db      0E8h, 0B4h, 0Ah, 53h, 0BBh, 90h
72F2:0416  02                                   db      2
72F2:0417                       loc_8:                                          ;  xref 72F2:042C
72F2:0417  2E:3A 27                             cmp     ah,cs:[bx]
72F2:041A  75 09                                jne     loc_9                   ; Jump if not equal
72F2:041C  2E:8B 5F 01                          mov     bx,cs:[bx+1]
72F2:0420  87 5E EC                             xchg    bx,[bp-14h]
72F2:0423  FC                                   cld                             ; Clear direction
72F2:0424  C3                                   retn
72F2:0425                       loc_9:                                          ;  xref 72F2:041A
72F2:0425  83 C3 03                             add     bx,3
72F2:0428  81 FB 02CC                           cmp     bx,2CCh
72F2:042C  72 E9                                jb      loc_8                   ; Jump if below
72F2:042E  5B                                   pop     bx
72F2:042F                       loc_10:                                         ;  xref 72F2:0672, 069E, 0BC2, 0D64
                                                                               ;            0DA6
72F2:042F  E8 0A89                              call    sub_16                  ; (0EBB)
72F2:0432  E4 21                                in      al,21h                  ; port 21h, 8259-1 int IMR
72F2:0434  2E:A2 12E5                           mov     cs:data_70e,al          ; (72F2:12E5=0)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 7

72F2:0438  B0 FF                                mov     al,0FFh
72F2:043A  E6 21                                out     21h,al                  ; port 21h, 8259-1 int comands
72F2:043C  2E:C6 06 1251 04                     mov     byte ptr cs:data_54e,4  ; (72F2:1251=0)
72F2:0442  2E:C6 06 1250 01                     mov     byte ptr cs:data_53e,1  ; (72F2:1250=0)
72F2:0448  E8 0AF1                              call    sub_22                  ; (0F3C)
72F2:044B  E8 0AA5                              call    sub_19                  ; (0EF3)
72F2:044E  50                                   push    ax
72F2:044F  2E:A1 12B3                           mov     ax,cs:data_64e          ; (72F2:12B3=0)
72F2:0453  0D 0100                              or      ax,100h
72F2:0456  50                                   push    ax
72F2:0457  9D                                   popf                            ; Pop flags
72F2:0458  58                                   pop     ax
72F2:0459  5D                                   pop     bp
72F2:045A  2E:FF 2E 1235                        jmp     dword ptr cs:data_45e   ; (72F2:1235=0)
72F2:045F                       loc_11:                                         ;  xref 72F2:04B9
72F2:045F  E8 0AAD                              call    sub_21                  ; (0F0F)
72F2:0462  E8 0A56                              call    sub_16                  ; (0EBB)
72F2:0465  E8 0A72                              call    sub_18                  ; (0EDA)
72F2:0468  E8 0A9B                              call    sub_20                  ; (0F06)
72F2:046B  5D                                   pop     bp
72F2:046C  55                                   push    bp
72F2:046D  8B EC                                mov     bp,sp
72F2:046F  2E:FF 36 12B3                        push    word ptr cs:data_64e    ; (72F2:12B3=0)
72F2:0474  8F 46 06                             pop     word ptr [bp+6]
72F2:0477  5D                                   pop     bp
72F2:0478  CF                                   iret                            ; Interrupt return
72F2:0479  E8 77 0A E8 35 0B                    db      0E8h, 77h, 0Ah, 0E8h, 35h, 0Bh
72F2:047F  0A C0 75 DC E8 41                    db      0Ah, 0C0h, 75h, 0DCh, 0E8h, 41h
72F2:0485  0A E8 18 02 B0 00                    db      0Ah, 0E8h, 18h, 2, 0B0h, 0
72F2:048B  80 3F FF 75 06 8A                    db      80h, 3Fh, 0FFh, 75h, 6, 8Ah
72F2:0491  47 06 83 C3 07 2E                    db      47h, 6, 83h, 0C3h, 7, 2Eh
72F2:0497  20 06 F0 12 F6 47                    db      20h, 6, 0F0h, 12h, 0F6h, 47h
72F2:049D  1A 80 74 15 80 6F                    db      1Ah, 80h, 74h, 15h, 80h, 6Fh
72F2:04A3  1A C8 2E 80 3E F0                    db      1Ah, 0C8h, 2Eh, 80h, 3Eh, 0F0h
72F2:04A9  12 00 75 09 81 6F                    db      12h, 0, 75h, 9, 81h, 6Fh
72F2:04AF  1D 00 10 83 5F 1F                    db      1Dh, 0, 10h, 83h, 5Fh, 1Fh
72F2:04B5  00                                   db      0
72F2:04B6                       loc_12:                                         ;  xref 72F2:0526, 056B, 05F2, 062A
                                                                               ;            066F, 0899, 0BAD, 0C3B
                                                                               ;            0DA3
72F2:04B6  E8 0A3A                              call    sub_19                  ; (0EF3)
72F2:04B9  EB A4                                jmp     short loc_11            ; (045F)
72F2:04BB  E8 35 0A E8 F3 0A                    db      0E8h, 35h, 0Ah, 0E8h, 0F3h, 0Ah
72F2:04C1  E8 03 0A 0A C0 75                    db      0E8h, 3, 0Ah, 0Ah, 0C0h, 75h
72F2:04C7  EE 8B DA F6 47 15                    db      0EEh, 8Bh, 0DAh, 0F6h, 47h, 15h
72F2:04CD  80 74 E6 80 6F 15                    db      80h, 74h, 0E6h, 80h, 6Fh, 15h
72F2:04D3  C8 81 6F 10 00 10                    db      0C8h, 81h, 6Fh, 10h, 0, 10h
72F2:04D9  80 5F 12 00 EB D7                    db      80h, 5Fh, 12h, 0, 0EBh, 0D7h
72F2:04DF  E3 1B 8B DA 8B 77                    db      0E3h, 1Bh, 8Bh, 0DAh, 8Bh, 77h
72F2:04E5  21 0B 77 23 75 11                    db      21h, 0Bh, 77h, 23h, 75h, 11h
72F2:04EB  EB 0A 8B DA 8B 47                    db      0EBh, 0Ah, 8Bh, 0DAh, 8Bh, 47h
72F2:04F1  0C 0A 47 20 75 05                    db      0Ch, 0Ah, 47h, 20h, 75h, 5
72F2:04F7  E8 3F 05 73 03 E9                    db      0E8h, 3Fh, 5, 73h, 3, 0E9h
72F2:04FD  30 FF                                db      30h, 0FFh
72F2:04FF                       loc_13:
72F2:04FF  E8 09F1                              call    sub_19                  ; (0EF3)
72F2:0502  E8 09C2                              call    sub_17                  ; (0EC7)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 8

72F2:0505  E8 0AAC                              call    sub_24                  ; (0FB4)
72F2:0508  89 46 FC                             mov     [bp-4],ax
72F2:050B  89 4E F8                             mov     [bp-8],cx
72F2:050E  1E                                   push    ds
72F2:050F  52                                   push    dx
72F2:0510  E8 018E                              call    sub_3                   ; (06A1)
72F2:0513  83 7F 14 01                          cmp     word ptr [bx+14h],1
72F2:0517  74 0F                                je      loc_14                  ; Jump if equal
72F2:0519  8B 07                                mov     ax,[bx]
72F2:051B  03 47 02                             add     ax,[bx+2]
72F2:051E  03 47 04                             add     ax,[bx+4]
72F2:0521  74 05                                jz      loc_14                  ; Jump if zero
72F2:0523  83 C4 04                             add     sp,4
72F2:0526  EB 8E                                jmp     short loc_12            ; (04B6)
72F2:0528                       loc_14:                                         ;  xref 72F2:0517, 0521
72F2:0528  5A                                   pop     dx
72F2:0529  1F                                   pop     ds
72F2:052A  8B F2                                mov     si,dx
72F2:052C  0E                                   push    cs
72F2:052D  07                                   pop     es
72F2:052E  BF 12B5                              mov     di,12B5h
72F2:0531  B9 0025                              mov     cx,25h
72F2:0534  F3/A4                                rep     movsb                   ; Rep while cx>0 Mov [si] to es:[di]
72F2:0536  BF 12B5                              mov     di,12B5h
72F2:0539  0E                                   push    cs
72F2:053A  1F                                   pop     ds
72F2:053B  8B 45 10                             mov     ax,[di+10h]
72F2:053E  8B 55 12                             mov     dx,[di+12h]
72F2:0541  05 100F                              add     ax,100Fh
72F2:0544  83 D2 00                             adc     dx,0
72F2:0547  25 FFF0                              and     ax,0FFF0h
72F2:054A  89 45 10                             mov     [di+10h],ax
72F2:054D  89 55 12                             mov     [di+12h],dx
72F2:0550  2D 0FFC                              sub     ax,0FFCh
72F2:0553  83 DA 00                             sbb     dx,0
72F2:0556  89 45 21                             mov     [di+21h],ax
72F2:0559  89 55 23                             mov     [di+23h],dx
72F2:055C  C7 45 0E 0001                        mov     word ptr [di+0Eh],1
72F2:0561  B9 001C                              mov     cx,1Ch
72F2:0564  8B D7                                mov     dx,di
72F2:0566  B4 27                                mov     ah,27h                  ; '''
72F2:0568  E8 0A49                              call    sub_24                  ; (0FB4)
72F2:056B  E9 FF48                              jmp     loc_12                  ; (04B6)
72F2:056E  0E 07 8B F2 BF B5                    db      0Eh, 7, 8Bh, 0F2h, 0BFh, 0B5h
72F2:0574  12 B9 25 00 F3 A4                    db      12h, 0B9h, 25h, 0, 0F3h, 0A4h
72F2:057A  1E 52 0E 1F BA B5                    db      1Eh, 52h, 0Eh, 1Fh, 0BAh, 0B5h
72F2:0580  12 B4 0F E8 2E 0A                    db      12h, 0B4h, 0Fh, 0E8h, 2Eh, 0Ah
72F2:0586  B4 10 E8 29 0A F6                    db      0B4h, 10h, 0E8h, 29h, 0Ah, 0F6h
72F2:058C  06 CA 12 80 5E 1F                    db      6, 0CAh, 12h, 80h, 5Eh, 1Fh
72F2:0592  74 7E 2E C4 1E C5                    db      74h, 7Eh, 2Eh, 0C4h, 1Eh, 0C5h
72F2:0598  12 8C C0 81 EB 00                    db      12h, 8Ch, 0C0h, 81h, 0EBh, 0
72F2:059E  10 1D 00 00 33 D2                    db      10h, 1Dh, 0, 0, 33h, 0D2h
72F2:05A4  2E 8B 0E C3 12 49                    db      2Eh, 8Bh, 0Eh, 0C3h, 12h, 49h
72F2:05AA  03 D9 15 00 00 41                    db      3, 0D9h, 15h, 0, 0, 41h
72F2:05B0  F7 F1 89 44 23 92                    db      0F7h, 0F1h, 89h, 44h, 23h, 92h
72F2:05B6  93 F7 F1 89 44 21                    db      93h, 0F7h, 0F1h, 89h, 44h, 21h
72F2:05BC  E9 F7 FE 2E 83 26                    db      0E9h, 0F7h, 0FEh, 2Eh, 83h, 26h
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 9

72F2:05C2  B3 12 FE E8 2B 09                    db      0B3h, 12h, 0FEh, 0E8h, 2Bh, 9
72F2:05C8  E8 E9 09 E8 F9 08                    db      0E8h, 0E9h, 9, 0E8h, 0F9h, 8
72F2:05CE  73 09 2E 83 0E B3                    db      73h, 9, 2Eh, 83h, 0Eh, 0B3h
72F2:05D4  12 01 E9 DD FE E8                    db      12h, 1, 0E9h, 0DDh, 0FEh, 0E8h
72F2:05DA  C5 00 F6 47 19 80                    db      0C5h, 0, 0F6h, 47h, 19h, 80h
72F2:05E0  75 03 E9 D1 FE                       db      75h, 3, 0E9h, 0D1h, 0FEh
72F2:05E5                       loc_15:
72F2:05E5  81 6F 1A 1000                        sub     word ptr [bx+1Ah],1000h
72F2:05EA  83 5F 1C 00                          sbb     word ptr [bx+1Ch],0
72F2:05EE  80 6F 19 C8                          sub     byte ptr [bx+19h],0C8h
72F2:05F2  E9 FEC1                              jmp     loc_12                  ; (04B6)
72F2:05F5  51 83 E1 07 83 F9                    db      51h, 83h, 0E1h, 7, 83h, 0F9h
72F2:05FB  07 74 2F 59 E8 E4                    db      7, 74h, 2Fh, 59h, 0E8h, 0E4h
72F2:0601  07 E8 AF 09 E8 84                    db      7, 0E8h, 0AFh, 9, 0E8h, 84h
72F2:0607  08 9C 2E 80 3E DA                    db      8, 9Ch, 2Eh, 80h, 3Eh, 0DAh
72F2:060D  12 00 74 04 9D E9                    db      12h, 0, 74h, 4, 9Dh, 0E9h
72F2:0613  1A FE 9D 72 09 8B                    db      1Ah, 0FEh, 9Dh, 72h, 9, 8Bh
72F2:0619  D8 B4 3E E8 95 09                    db      0D8h, 0B4h, 3Eh, 0E8h, 95h, 9
72F2:061F  EB 10                                db      0EBh, 10h
72F2:0621                       loc_16:
72F2:0621  2E:80 0E 12B3 01                     or      byte ptr cs:data_64e,1  ; (72F2:12B3=0)
72F2:0627  89 46 FC                             mov     [bp-4],ax
72F2:062A  E9 FE89                              jmp     loc_12                  ; (04B6)
72F2:062D  59 E9 FE FD                          db      59h, 0E9h, 0FEh, 0FDh
72F2:0631                       loc_17:
72F2:0631  E8 045D                              call    sub_9                   ; (0A91)
72F2:0634  E8 040E                              call    sub_8                   ; (0A45)
72F2:0637  72 39                                jc      loc_19                  ; Jump if carry Set
72F2:0639  2E:80 3E 12A2 00                     cmp     byte ptr cs:data_55e,0  ; (72F2:12A2=0)
72F2:063F  74 31                                je      loc_19                  ; Jump if equal
72F2:0641  E8 045A                              call    sub_10                  ; (0A9E)
72F2:0644  83 FB FF                             cmp     bx,0FFFFh
72F2:0647  74 29                                je      loc_19                  ; Jump if equal
72F2:0649  2E:FE 0E 12A2                        dec     byte ptr cs:data_55e    ; (72F2:12A2=0)
72F2:064E  0E                                   push    cs
72F2:064F  07                                   pop     es
72F2:0650  BF 1252                              mov     di,1252h
72F2:0653  B9 0014                              mov     cx,14h
72F2:0656  33 C0                                xor     ax,ax                   ; Zero register
72F2:0658  F2/AF                                repne   scasw                   ; Rept zf=0+cx>0 Scan es:[di] for ax
72F2:065A  2E:A1 12A3                           mov     ax,cs:data_56e          ; (72F2:12A3=0)
72F2:065E  26:89 45 FE                          mov     es:[di-2],ax
72F2:0662  26:89 5D 26                          mov     es:[di+26h],bx
72F2:0666  89 5E FC                             mov     [bp-4],bx
72F2:0669                       loc_18:                                         ;  xref 72F2:069C
72F2:0669  2E:80 26 12B3 FE                     and     byte ptr cs:data_64e,0FEh       ; (72F2:12B3=0)
72F2:066F  E9 FE44                              jmp     loc_12                  ; (04B6)
72F2:0672                       loc_19:                                         ;  xref 72F2:0637, 063F, 0647
72F2:0672  E9 FDBA                              jmp     loc_10                  ; (042F)
72F2:0675  0E 07 E8 17 04 BF                    db      0Eh, 7, 0E8h, 17h, 4, 0BFh
72F2:067B  52 12 B9 14 00 2E                    db      52h, 12h, 0B9h, 14h, 0, 2Eh
72F2:0681  A1 A3 12                             db      0A1h, 0A3h, 12h
72F2:0684                       loc_20:                                         ;  xref 72F2:068C
72F2:0684  F2/AF                                repne   scasw                   ; Rept zf=0+cx>0 Scan es:[di] for ax
72F2:0686  75 16                                jnz     loc_21                  ; Jump if not zero
72F2:0688  26:3B 5D 26                          cmp     bx,es:[di+26h]
72F2:068C  75 F6                                jne     loc_20                  ; Jump if not equal
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 10

72F2:068E  26:C7 45 FE 0000                     mov     word ptr es:[di-2],0
72F2:0694  E8 021C                              call    sub_4                   ; (08B3)
72F2:0697  2E:FE 06 12A2                        inc     byte ptr cs:data_55e    ; (72F2:12A2=0)
72F2:069C  EB CB                                jmp     short loc_18            ; (0669)
72F2:069E                       loc_21:                                         ;  xref 72F2:0686
72F2:069E  E9 FD8E                              jmp     loc_10                  ; (042F)

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0510
                               ;��������������������������������������������������������������������������

                               sub_3           proc    near
72F2:06A1  06                                   push    es
72F2:06A2  B4 2F                                mov     ah,2Fh                  ; '/'
72F2:06A4  E8 090D                              call    sub_24                  ; (0FB4)
72F2:06A7  06                                   push    es
72F2:06A8  1F                                   pop     ds
72F2:06A9  07                                   pop     es
72F2:06AA  C3                                   retn
                               sub_3           endp

72F2:06AB  0A C0 74 03 E9 4E                    db      0Ah, 0C0h, 74h, 3, 0E9h, 4Eh
72F2:06B1  01 1E 52 2E 89 1E                    db      1, 1Eh, 52h, 2Eh, 89h, 1Eh
72F2:06B7  24 12 2E 8C 06 26                    db      24h, 12h, 2Eh, 8Ch, 6, 26h
72F2:06BD  12 2E C5 36 24 12                    db      12h, 2Eh, 0C5h, 36h, 24h, 12h
72F2:06C3  BF F1 12 B9 0E 00                    db      0BFh, 0F1h, 12h, 0B9h, 0Eh, 0
72F2:06C9  0E 07 F3 A4 5E 1F                    db      0Eh, 7, 0F3h, 0A4h, 5Eh, 1Fh
72F2:06CF  BF 07 13 B9 50 00                    db      0BFh, 7, 13h, 0B9h, 50h, 0
72F2:06D5  F3 A4 BB FF FF E8                    db      0F3h, 0A4h, 0BBh, 0FFh, 0FFh, 0E8h
72F2:06DB  7D 08 E8 13 08 5D                    db      7Dh, 8, 0E8h, 13h, 8, 5Dh
72F2:06E1  2E 8F 06 E6 12 2E                    db      2Eh, 8Fh, 6, 0E6h, 12h, 2Eh
72F2:06E7  8F 06 E8 12 2E 8F                    db      8Fh, 6, 0E8h, 12h, 2Eh, 8Fh
72F2:06ED  06 B3 12 B8 01 4B                    db      6, 0B3h, 12h, 0B8h, 1, 4Bh
72F2:06F3  0E 07 BB F1 12 9C                    db      0Eh, 7, 0BBh, 0F1h, 12h, 9Ch
72F2:06F9  2E FF 1E 35 12 73                    db      2Eh, 0FFh, 1Eh, 35h, 12h, 73h
72F2:06FF  20 2E 83 0E B3 12                    db      20h, 2Eh, 83h, 0Eh, 0B3h, 12h
72F2:0705  01 2E FF 36 B3 12                    db      1, 2Eh, 0FFh, 36h, 0B3h, 12h
72F2:070B  2E FF 36 E8 12 2E                    db      2Eh, 0FFh, 36h, 0E8h, 12h, 2Eh
72F2:0711  FF 36 E6 12 55 8B                    db      0FFh, 36h, 0E6h, 12h, 55h, 8Bh
72F2:0717  EC 2E C4 1E 24 12                    db      0ECh, 2Eh, 0C4h, 1Eh, 24h, 12h
72F2:071D  E9 3F FD                             db      0E9h, 3Fh, 0FDh
72F2:0720                       loc_22:
72F2:0720  E8 036E                              call    sub_9                   ; (0A91)
72F2:0723  0E                                   push    cs
72F2:0724  07                                   pop     es
72F2:0725  BF 1252                              mov     di,1252h
72F2:0728  B9 0014                              mov     cx,14h
72F2:072B                       loc_23:                                         ;  xref 72F2:073E
72F2:072B  2E:A1 12A3                           mov     ax,cs:data_56e          ; (72F2:12A3=0)
72F2:072F  F2/AF                                repne   scasw                   ; Rept zf=0+cx>0 Scan es:[di] for ax
72F2:0731  75 0D                                jnz     loc_24                  ; Jump if not zero
72F2:0733  26:C7 45 FE 0000                     mov     word ptr es:[di-2],0
72F2:0739  2E:FE 06 12A2                        inc     byte ptr cs:data_55e    ; (72F2:12A2=0)
72F2:073E  EB EB                                jmp     short loc_23            ; (072B)
72F2:0740                       loc_24:                                         ;  xref 72F2:0731
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 11

72F2:0740  2E:C5 36 1303                        lds     si,dword ptr cs:data_79e        ; (72F2:1303=0) Load 32 bit ptr
72F2:0745  83 FE 01                             cmp     si,1
72F2:0748  75 33                                jne     loc_25                  ; Jump if not equal
72F2:074A  8B 16 001A                           mov     dx,ds:data_6e           ; (0000:001A=0F000h)
72F2:074E  83 C2 10                             add     dx,10h
72F2:0751  B4 51                                mov     ah,51h                  ; 'Q'
72F2:0753  E8 085E                              call    sub_24                  ; (0FB4)
72F2:0756  03 D3                                add     dx,bx
72F2:0758  2E:89 16 1305                        mov     word ptr cs:data_79e+2,dx       ; (72F2:1305=0)
72F2:075D  FF 36 0018                           push    word ptr ds:data_5e     ; (0000:0018=0EAA6h)
72F2:0761  2E:8F 06 1303                        pop     word ptr cs:data_79e    ; (72F2:1303=0)
72F2:0766  83 C3 10                             add     bx,10h
72F2:0769  03 1E 0012                           add     bx,ds:data_3e           ; (0000:0012=70h)
72F2:076D  2E:89 1E 1301                        mov     cs:data_78e,bx          ; (72F2:1301=0)
72F2:0772  FF 36 0014                           push    word ptr ds:data_4e     ; (0000:0014=0FF54h)
72F2:0776  2E:8F 06 12FF                        pop     word ptr cs:data_77e    ; (72F2:12FF=0)
72F2:077B  EB 22                                jmp     short loc_26            ; (079F)
72F2:077D                       loc_25:                                         ;  xref 72F2:0748
72F2:077D  8B 04                                mov     ax,[si]
72F2:077F  03 44 02                             add     ax,[si+2]
72F2:0782  03 44 04                             add     ax,[si+4]
72F2:0785  74 60                                jz      loc_27                  ; Jump if zero
72F2:0787  0E                                   push    cs
72F2:0788  1F                                   pop     ds
72F2:0789  BA 1307                              mov     dx,1307h
72F2:078C  E8 02B6                              call    sub_8                   ; (0A45)
72F2:078F  E8 030C                              call    sub_10                  ; (0A9E)
72F2:0792  2E:FE 06 12EF                        inc     byte ptr cs:data_76e    ; (72F2:12EF=0)
72F2:0797  E8 0119                              call    sub_4                   ; (08B3)
72F2:079A  2E:FE 0E 12EF                        dec     byte ptr cs:data_76e    ; (72F2:12EF=0)
72F2:079F                       loc_26:                                         ;  xref 72F2:077B, 07FE
72F2:079F  B4 51                                mov     ah,51h                  ; 'Q'
72F2:07A1  E8 0810                              call    sub_24                  ; (0FB4)
72F2:07A4  E8 0768                              call    sub_21                  ; (0F0F)
72F2:07A7  E8 0711                              call    sub_16                  ; (0EBB)
72F2:07AA  E8 072D                              call    sub_18                  ; (0EDA)
72F2:07AD  E8 0756                              call    sub_20                  ; (0F06)
72F2:07B0  8E DB                                mov     ds,bx
72F2:07B2  8E C3                                mov     es,bx
72F2:07B4  2E:FF 36 12B3                        push    word ptr cs:data_64e    ; (72F2:12B3=0)
72F2:07B9  2E:FF 36 12E8                        push    word ptr cs:data_72e    ; (72F2:12E8=0)
72F2:07BE  2E:FF 36 12E6                        push    word ptr cs:data_71e    ; (72F2:12E6=0)
72F2:07C3  8F 06 000A                           pop     word ptr ds:data_10e    ; (0080:000A=0)
72F2:07C7  8F 06 000C                           pop     word ptr ds:data_11e    ; (0080:000C=0)
72F2:07CB  1E                                   push    ds
72F2:07CC  C5 16 000A                           lds     dx,dword ptr ds:data_10e        ; (0080:000A=0) Load 32 bit ptr
72F2:07D0  B0 22                                mov     al,22h                  ; '"'
72F2:07D2  E8 08E7                              call    sub_26                  ; (10BC)
72F2:07D5  1F                                   pop     ds
72F2:07D6  9D                                   popf                            ; Pop flags
72F2:07D7  58                                   pop     ax
72F2:07D8  2E:8E 16 1301                        mov     ss,cs:data_78e          ; (72F2:1301=0)
72F2:07DD  2E:8B 26 12FF                        mov     sp,cs:data_77e          ; (72F2:12FF=0)
72F2:07E2  2E:FF 2E 1303                        jmp     dword ptr cs:data_79e   ; (72F2:1303=0)
72F2:07E7                       loc_27:                                         ;  xref 72F2:0785
72F2:07E7  8B 5C 01                             mov     bx,[si+1]
72F2:07EA  8B 80 FD9F                           mov     ax,ds:data_12e[bx+si]   ; (0080:FD9F=0AD65h)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 12

72F2:07EE  89 04                                mov     [si],ax
72F2:07F0  8B 80 FDA1                           mov     ax,ds:data_13e[bx+si]   ; (0080:FDA1=0B295h)
72F2:07F4  89 44 02                             mov     [si+2],ax
72F2:07F7  8B 80 FDA3                           mov     ax,ds:data_14e[bx+si]   ; (0080:FDA3=0EB10h)
72F2:07FB  89 44 04                             mov     [si+4],ax
72F2:07FE  EB 9F                                jmp     short loc_26            ; (079F)
72F2:0800  3C 01 74 03 E9 28                    db      3Ch, 1, 74h, 3, 0E9h, 28h
72F2:0806  FC                                   db      0FCh
72F2:0807                       loc_28:
72F2:0807  2E:83 0E 12B3 01                     or      word ptr cs:data_64e,1  ; (72F2:12B3=0)
72F2:080D  2E:89 1E 1224                        mov     cs:data_36e,bx          ; (72F2:1224=0)
72F2:0812  2E:8C 06 1226                        mov     cs:data_37e,es          ; (72F2:1226=0)
72F2:0817  E8 06D9                              call    sub_19                  ; (0EF3)
72F2:081A  E8 0797                              call    sub_24                  ; (0FB4)
72F2:081D  E8 06A7                              call    sub_17                  ; (0EC7)
72F2:0820  2E:C4 1E 1224                        les     bx,dword ptr cs:data_36e        ; (72F2:1224=0) Load 32 bit ptr
72F2:0825  26:C5 77 12                          lds     si,dword ptr es:[bx+12h]        ; Load 32 bit ptr
72F2:0829  72 6E                                jc      loc_31                  ; Jump if carry Set
72F2:082B  2E:80 26 12B3 FE                     and     byte ptr cs:data_64e,0FEh       ; (72F2:12B3=0)
72F2:0831  83 FE 01                             cmp     si,1
72F2:0834  74 23                                je      loc_29                  ; Jump if equal
72F2:0836  8B 04                                mov     ax,[si]
72F2:0838  03 44 02                             add     ax,[si+2]
72F2:083B  03 44 04                             add     ax,[si+4]
72F2:083E  75 45                                jnz     loc_30                  ; Jump if not zero
72F2:0840  8B 5C 01                             mov     bx,[si+1]
72F2:0843  8B 80 FD9F                           mov     ax,ds:data_7e[bx+si]    ; (0000:FD9F=0)
72F2:0847  89 04                                mov     [si],ax
72F2:0849  8B 80 FDA1                           mov     ax,ds:data_8e[bx+si]    ; (0000:FDA1=0)
72F2:084D  89 44 02                             mov     [si+2],ax
72F2:0850  8B 80 FDA3                           mov     ax,ds:data_9e[bx+si]    ; (0000:FDA3=0)
72F2:0854  89 44 04                             mov     [si+4],ax
72F2:0857  EB 2C                                jmp     short loc_30            ; (0885)
72F2:0859                       loc_29:                                         ;  xref 72F2:0834
72F2:0859  8B 16 001A                           mov     dx,ds:data_6e           ; (0000:001A=0F000h)
72F2:085D  E8 0231                              call    sub_9                   ; (0A91)
72F2:0860  2E:8B 0E 12A3                        mov     cx,cs:data_56e          ; (72F2:12A3=0)
72F2:0865  83 C1 10                             add     cx,10h
72F2:0868  03 D1                                add     dx,cx
72F2:086A  26:89 57 14                          mov     es:[bx+14h],dx
72F2:086E  A1 0018                              mov     ax,ds:data_5e           ; (0000:0018=0EAA6h)
72F2:0871  26:89 47 12                          mov     es:[bx+12h],ax
72F2:0875  A1 0012                              mov     ax,ds:data_3e           ; (0000:0012=70h)
72F2:0878  03 C1                                add     ax,cx
72F2:087A  26:89 47 10                          mov     es:[bx+10h],ax
72F2:087E  A1 0014                              mov     ax,ds:data_4e           ; (0000:0014=0FF54h)
72F2:0881  26:89 47 0E                          mov     es:[bx+0Eh],ax
72F2:0885                       loc_30:                                         ;  xref 72F2:083E, 0857
72F2:0885  E8 0209                              call    sub_9                   ; (0A91)
72F2:0888  2E:8E 1E 12A3                        mov     ds,cs:data_56e          ; (72F2:12A3=0)
72F2:088D  8B 46 02                             mov     ax,[bp+2]
72F2:0890  A3 000A                              mov     ds:data_1e,ax           ; (0000:000A=11ECh)
72F2:0893  8B 46 04                             mov     ax,[bp+4]
72F2:0896  A3 000C                              mov     word ptr ds:data_1e+2,ax        ; (0000:000C=75Ch)
72F2:0899                       loc_31:                                         ;  xref 72F2:0829
72F2:0899  E9 FC1A                              jmp     loc_12                  ; (04B6)
72F2:089C  2E C6 06 F0 12 00                    db      2Eh, 0C6h, 6, 0F0h, 12h, 0
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 13

72F2:08A2  B4 2A E8 0D 07 81                    db      0B4h, 2Ah, 0E8h, 0Dh, 7, 81h
72F2:08A8  FA 16 09 72 03 E8                    db      0FAh, 16h, 9, 72h, 3, 0E8h
72F2:08AE  22 08 E9 7C FB                       db      22h, 8, 0E9h, 7Ch, 0FBh

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0694, 0797
                               ;��������������������������������������������������������������������������

                               sub_4           proc    near
72F2:08B3  E8 0530                              call    sub_13                  ; (0DE6)
72F2:08B6  E8 00BC                              call    sub_5                   ; (0975)
72F2:08B9  C6 06 0020 01                        mov     byte ptr ds:data_21e,1  ; (72F2:0020=0)
72F2:08BE  81 3E 1200 5A4D                      cmp     word ptr ds:data_25e,5A4Dh      ; (72F2:1200=0)
72F2:08C4  74 0E                                je      loc_32                  ; Jump if equal
72F2:08C6  81 3E 1200 4D5A                      cmp     word ptr ds:data_25e,4D5Ah      ; (72F2:1200=0)
72F2:08CC  74 06                                je      loc_32                  ; Jump if equal
72F2:08CE  FE 0E 0020                           dec     byte ptr ds:data_21e    ; (72F2:0020=0)
72F2:08D2  74 58                                jz      loc_35                  ; Jump if zero
72F2:08D4                       loc_32:                                         ;  xref 72F2:08C4, 08CC
72F2:08D4  A1 1204                              mov     ax,ds:data_28e          ; (72F2:1204=0)
72F2:08D7  D1 E1                                shl     cx,1                    ; Shift w/zeros fill
72F2:08D9  F7 E1                                mul     cx                      ; dx:ax = reg * ax
72F2:08DB  05 0200                              add     ax,200h
72F2:08DE  3B C6                                cmp     ax,si
72F2:08E0  72 48                                jb      loc_34                  ; Jump if below
72F2:08E2  A1 120A                              mov     ax,ds:data_30e          ; (72F2:120A=0)
72F2:08E5  0B 06 120C                           or      ax,ds:data_31e          ; (72F2:120C=0)
72F2:08E9  74 3F                                jz      loc_34                  ; Jump if zero
72F2:08EB  A1 12A9                              mov     ax,ds:data_59e          ; (72F2:12A9=0)
72F2:08EE  8B 16 12AB                           mov     dx,ds:data_60e          ; (72F2:12AB=0)
72F2:08F2  B9 0200                              mov     cx,200h
72F2:08F5  F7 F1                                div     cx                      ; ax,dx rem=dx:ax/reg
72F2:08F7  0B D2                                or      dx,dx                   ; Zero ?
72F2:08F9  74 01                                jz      loc_33                  ; Jump if zero
72F2:08FB  40                                   inc     ax
72F2:08FC                       loc_33:                                         ;  xref 72F2:08F9
72F2:08FC  A3 1204                              mov     ds:data_28e,ax          ; (72F2:1204=0)
72F2:08FF  89 16 1202                           mov     word ptr ds:data_25e+2,dx       ; (72F2:1202=0)
72F2:0903  83 3E 1214 01                        cmp     word ptr ds:data_34e,1  ; (72F2:1214=0)
72F2:0908  74 62                                je      loc_36                  ; Jump if equal
72F2:090A  C7 06 1214 0001                      mov     word ptr ds:data_34e,1  ; (72F2:1214=0)
72F2:0910  8B C6                                mov     ax,si
72F2:0912  2B 06 1208                           sub     ax,ds:data_29e          ; (72F2:1208=0)
72F2:0916  A3 1216                              mov     ds:data_35e,ax          ; (72F2:1216=0)
72F2:0919  83 06 1204 08                        add     word ptr ds:data_28e,8  ; (72F2:1204=0)
72F2:091E  A3 120E                              mov     ds:data_32e,ax          ; (72F2:120E=0)
72F2:0921  C7 06 1210 1000                      mov     word ptr ds:data_33e,1000h      ; (72F2:1210=0)
72F2:0927  E8 00A9                              call    sub_6                   ; (09D3)
72F2:092A                       loc_34:                                         ;  xref 72F2:08E0, 08E9
72F2:092A  EB 40                                jmp     short loc_36            ; (096C)
72F2:092C                       loc_35:                                         ;  xref 72F2:08D2
72F2:092C  81 FE 0F00                           cmp     si,0F00h
72F2:0930  73 3A                                jae     loc_36                  ; Jump if above or =
72F2:0932  A1 1200                              mov     ax,ds:data_25e          ; (72F2:1200=0)
72F2:0935  A3 0004                              mov     word ptr ds:data_17e+1,ax       ; (72F2:0004=0)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 14

72F2:0938  03 D0                                add     dx,ax
72F2:093A  A1 1202                              mov     ax,word ptr ds:data_25e+2       ; (72F2:1202=0)
72F2:093D  A3 0006                              mov     ds:data_19e,ax          ; (72F2:0006=0)
72F2:0940  03 D0                                add     dx,ax
72F2:0942  A1 1204                              mov     ax,ds:data_28e          ; (72F2:1204=0)
72F2:0945  A3 0008                              mov     ds:data_20e,ax          ; (72F2:0008=0)
72F2:0948  03 D0                                add     dx,ax
72F2:094A  74 20                                jz      loc_36                  ; Jump if zero
72F2:094C  B1 E9                                mov     cl,0E9h
72F2:094E  88 0E 1200                           mov     ds:data_25e,cl          ; (72F2:1200=0)
72F2:0952  B8 0010                              mov     ax,10h
72F2:0955  F7 E6                                mul     si                      ; dx:ax = reg * ax
72F2:0957  05 0265                              add     ax,265h
72F2:095A  A3 1201                              mov     word ptr ds:data_25e+1,ax       ; (72F2:1201=0)
72F2:095D  A1 1200                              mov     ax,ds:data_25e          ; (72F2:1200=0)
72F2:0960  03 06 1202                           add     ax,word ptr ds:data_25e+2       ; (72F2:1202=0)
72F2:0964  F7 D8                                neg     ax
72F2:0966  A3 1204                              mov     ds:data_28e,ax          ; (72F2:1204=0)
72F2:0969  E8 0067                              call    sub_6                   ; (09D3)
72F2:096C                       loc_36:                                         ;  xref 72F2:0908, 092A, 0930, 094A
72F2:096C  B4 3E                                mov     ah,3Eh                  ; '>'
72F2:096E  E8 0643                              call    sub_24                  ; (0FB4)
72F2:0971  E8 0518                              call    sub_14                  ; (0E8C)
72F2:0974  C3                                   retn
                               sub_4           endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:08B6
                               ;��������������������������������������������������������������������������

                               sub_5           proc    near
72F2:0975  0E                                   push    cs
72F2:0976  1F                                   pop     ds
72F2:0977  B8 5700                              mov     ax,5700h
72F2:097A  E8 0637                              call    sub_24                  ; (0FB4)
72F2:097D  89 0E 1229                           mov     ds:data_39e,cx          ; (72F2:1229=0)
72F2:0981  89 16 122B                           mov     ds:data_40e,dx          ; (72F2:122B=0)
72F2:0985  B8 4200                              mov     ax,4200h
72F2:0988  33 C9                                xor     cx,cx                   ; Zero register
72F2:098A  8B D1                                mov     dx,cx
72F2:098C  E8 0625                              call    sub_24                  ; (0FB4)
72F2:098F  B4 3F                                mov     ah,3Fh                  ; '?'
72F2:0991  B1 1C                                mov     cl,1Ch
72F2:0993  BA 1200                              mov     dx,1200h
72F2:0996  E8 061B                              call    sub_24                  ; (0FB4)
72F2:0999  B8 4200                              mov     ax,4200h
72F2:099C  33 C9                                xor     cx,cx                   ; Zero register
72F2:099E  8B D1                                mov     dx,cx
72F2:09A0  E8 0611                              call    sub_24                  ; (0FB4)
72F2:09A3  B4 3F                                mov     ah,3Fh                  ; '?'
72F2:09A5  B1 1C                                mov     cl,1Ch
72F2:09A7  BA 0004                              mov     dx,4
72F2:09AA  E8 0607                              call    sub_24                  ; (0FB4)
72F2:09AD  B8 4202                              mov     ax,4202h
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 15

72F2:09B0  33 C9                                xor     cx,cx                   ; Zero register
72F2:09B2  8B D1                                mov     dx,cx
72F2:09B4  E8 05FD                              call    sub_24                  ; (0FB4)
72F2:09B7  A3 12A9                              mov     ds:data_59e,ax          ; (72F2:12A9=0)
72F2:09BA  89 16 12AB                           mov     ds:data_60e,dx          ; (72F2:12AB=0)
72F2:09BE  8B F8                                mov     di,ax
72F2:09C0  05 000F                              add     ax,0Fh
72F2:09C3  83 D2 00                             adc     dx,0
72F2:09C6  25 FFF0                              and     ax,0FFF0h
72F2:09C9  2B F8                                sub     di,ax
72F2:09CB  B9 0010                              mov     cx,10h
72F2:09CE  F7 F1                                div     cx                      ; ax,dx rem=dx:ax/reg
72F2:09D0  8B F0                                mov     si,ax
72F2:09D2  C3                                   retn
                               sub_5           endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0927, 0969
                               ;��������������������������������������������������������������������������

                               sub_6           proc    near
72F2:09D3  B8 4200                              mov     ax,4200h
72F2:09D6  33 C9                                xor     cx,cx                   ; Zero register
72F2:09D8  8B D1                                mov     dx,cx
72F2:09DA  E8 05D7                              call    sub_24                  ; (0FB4)
72F2:09DD  B4 40                                mov     ah,40h                  ; '@'
72F2:09DF  B1 1C                                mov     cl,1Ch
72F2:09E1  BA 1200                              mov     dx,1200h
72F2:09E4  E8 05CD                              call    sub_24                  ; (0FB4)
72F2:09E7  B8 0010                              mov     ax,10h
72F2:09EA  F7 E6                                mul     si                      ; dx:ax = reg * ax
72F2:09EC  8B CA                                mov     cx,dx
72F2:09EE  8B D0                                mov     dx,ax
72F2:09F0  B8 4200                              mov     ax,4200h
72F2:09F3  E8 05BE                              call    sub_24                  ; (0FB4)
72F2:09F6  33 D2                                xor     dx,dx                   ; Zero register
72F2:09F8  B9 1000                              mov     cx,1000h
72F2:09FB  03 CF                                add     cx,di
72F2:09FD  B4 40                                mov     ah,40h                  ; '@'
72F2:09FF  E8 05B2                              call    sub_24                  ; (0FB4)
72F2:0A02  B8 5701                              mov     ax,5701h
72F2:0A05  8B 0E 1229                           mov     cx,ds:data_39e          ; (72F2:1229=0)
72F2:0A09  8B 16 122B                           mov     dx,ds:data_40e          ; (72F2:122B=0)
72F2:0A0D  F6 C6 80                             test    dh,80h
72F2:0A10  75 03                                jnz     loc_37                  ; Jump if not zero
72F2:0A12  80 C6 C8                             add     dh,0C8h
72F2:0A15                       loc_37:                                         ;  xref 72F2:0A10
72F2:0A15  E8 059C                              call    sub_24                  ; (0FB4)
72F2:0A18  80 3E 12EE 03                        cmp     byte ptr ds:data_75e,3  ; (72F2:12EE=0)
72F2:0A1D  72 19                                jb      loc_ret_38              ; Jump if below
72F2:0A1F  80 3E 12EF 00                        cmp     byte ptr ds:data_76e,0  ; (72F2:12EF=0)
72F2:0A24  74 12                                je      loc_ret_38              ; Jump if equal
72F2:0A26  53                                   push    bx
72F2:0A27  8A 16 1228                           mov     dl,ds:data_38e          ; (72F2:1228=0)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 16

72F2:0A2B  B4 32                                mov     ah,32h                  ; '2'
72F2:0A2D  E8 0584                              call    sub_24                  ; (0FB4)
72F2:0A30  2E:A1 12EC                           mov     ax,cs:data_74e          ; (72F2:12EC=0)
72F2:0A34  89 47 1E                             mov     [bx+1Eh],ax
72F2:0A37  5B                                   pop     bx

72F2:0A38                       loc_ret_38:                                     ;  xref 72F2:0A1D, 0A24
72F2:0A38  C3                                   retn
                               sub_6           endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;��������������������������������������������������������������������������

                               sub_7           proc    near
72F2:0A39  E8 04D3                              call    sub_21                  ; (0F0F)
72F2:0A3C  8B FA                                mov     di,dx
72F2:0A3E  83 C7 0D                             add     di,0Dh
72F2:0A41  1E                                   push    ds
72F2:0A42  07                                   pop     es
72F2:0A43  EB 20                                jmp     short loc_40            ; (0A65)

                               ;���� External Entry into Subroutine ��������������������������������������
                               ;
                               ;         Called from:   72F2:0634, 078C

                               sub_8:
72F2:0A45  E8 04C7                              call    sub_21                  ; (0F0F)
72F2:0A48  1E                                   push    ds
72F2:0A49  07                                   pop     es
72F2:0A4A  8B FA                                mov     di,dx
72F2:0A4C  B9 0050                              mov     cx,50h
72F2:0A4F  33 C0                                xor     ax,ax                   ; Zero register
72F2:0A51  B3 00                                mov     bl,0
72F2:0A53  80 7D 01 3A                          cmp     byte ptr [di+1],3Ah     ; ':'
72F2:0A57  75 05                                jne     loc_39                  ; Jump if not equal
72F2:0A59  8A 1D                                mov     bl,[di]
72F2:0A5B  80 E3 1F                             and     bl,1Fh
72F2:0A5E                       loc_39:                                         ;  xref 72F2:0A57
72F2:0A5E  2E:88 1E 1228                        mov     cs:data_38e,bl          ; (72F2:1228=0)
72F2:0A63  F2/AE                                repne   scasb                   ; Rept zf=0+cx>0 Scan es:[di] for al
72F2:0A65                       loc_40:                                         ;  xref 72F2:0A43
72F2:0A65  8B 45 FD                             mov     ax,[di-3]
72F2:0A68  25 DFDF                              and     ax,0DFDFh
72F2:0A6B  02 E0                                add     ah,al
72F2:0A6D  8A 45 FC                             mov     al,[di-4]
72F2:0A70  24 DF                                and     al,0DFh
72F2:0A72  02 C4                                add     al,ah
72F2:0A74  2E:C6 06 0020 00                     mov     byte ptr cs:data_21e,0  ; (72F2:0020=0)
72F2:0A7A  3C DF                                cmp     al,0DFh
72F2:0A7C  74 09                                je      loc_41                  ; Jump if equal
72F2:0A7E  2E:FE 06 0020                        inc     byte ptr cs:data_21e    ; (72F2:0020=0)
72F2:0A83  3C E2                                cmp     al,0E2h
72F2:0A85  75 05                                jne     loc_42                  ; Jump if not equal
72F2:0A87                       loc_41:                                         ;  xref 72F2:0A7C
72F2:0A87  E8 047C                              call    sub_20                  ; (0F06)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 17

72F2:0A8A  F8                                   clc                             ; Clear carry flag
72F2:0A8B  C3                                   retn
72F2:0A8C                       loc_42:                                         ;  xref 72F2:0A85
72F2:0A8C  E8 0477                              call    sub_20                  ; (0F06)
72F2:0A8F  F9                                   stc                             ; Set carry flag
72F2:0A90  C3                                   retn
                               sub_7           endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0631, 0720, 085D, 0885
                               ;��������������������������������������������������������������������������

                               sub_9           proc    near
72F2:0A91  53                                   push    bx
72F2:0A92  B4 51                                mov     ah,51h                  ; 'Q'
72F2:0A94  E8 051D                              call    sub_24                  ; (0FB4)
72F2:0A97  2E:89 1E 12A3                        mov     cs:data_56e,bx          ; (72F2:12A3=0)
72F2:0A9C  5B                                   pop     bx
72F2:0A9D  C3                                   retn
                               sub_9           endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0641, 078F
                               ;��������������������������������������������������������������������������

                               sub_10          proc    near
72F2:0A9E  E8 0345                              call    sub_13                  ; (0DE6)
72F2:0AA1  52                                   push    dx
72F2:0AA2  2E:8A 16 1228                        mov     dl,cs:data_38e          ; (72F2:1228=0)
72F2:0AA7  B4 36                                mov     ah,36h                  ; '6'
72F2:0AA9  E8 0508                              call    sub_24                  ; (0FB4)
72F2:0AAC  F7 E1                                mul     cx                      ; dx:ax = reg * ax
72F2:0AAE  F7 E3                                mul     bx                      ; dx:ax = reg * ax
72F2:0AB0  8B DA                                mov     bx,dx
72F2:0AB2  5A                                   pop     dx
72F2:0AB3  0B DB                                or      bx,bx                   ; Zero ?
72F2:0AB5  75 05                                jnz     loc_43                  ; Jump if not zero
72F2:0AB7  3D 4000                              cmp     ax,4000h
72F2:0ABA  72 43                                jb      loc_44                  ; Jump if below
72F2:0ABC                       loc_43:                                         ;  xref 72F2:0AB5
72F2:0ABC  B8 4300                              mov     ax,4300h
72F2:0ABF  E8 04F2                              call    sub_24                  ; (0FB4)
72F2:0AC2  72 3B                                jc      loc_44                  ; Jump if carry Set
72F2:0AC4  8B F9                                mov     di,cx
72F2:0AC6  33 C9                                xor     cx,cx                   ; Zero register
72F2:0AC8  B8 4301                              mov     ax,4301h
72F2:0ACB  E8 04E6                              call    sub_24                  ; (0FB4)
72F2:0ACE  2E:80 3E 12DA 00                     cmp     byte ptr cs:data_65e,0  ; (72F2:12DA=0)
72F2:0AD4  75 29                                jne     loc_44                  ; Jump if not equal
72F2:0AD6  B8 3D02                              mov     ax,3D02h
72F2:0AD9  E8 04D8                              call    sub_24                  ; (0FB4)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 18

72F2:0ADC  72 21                                jc      loc_44                  ; Jump if carry Set
72F2:0ADE  8B D8                                mov     bx,ax
72F2:0AE0  8B CF                                mov     cx,di
72F2:0AE2  B8 4301                              mov     ax,4301h
72F2:0AE5  E8 04CC                              call    sub_24                  ; (0FB4)
72F2:0AE8  53                                   push    bx
72F2:0AE9  2E:8A 16 1228                        mov     dl,cs:data_38e          ; (72F2:1228=0)
72F2:0AEE  B4 32                                mov     ah,32h                  ; '2'
72F2:0AF0  E8 04C1                              call    sub_24                  ; (0FB4)
72F2:0AF3  8B 47 1E                             mov     ax,[bx+1Eh]
72F2:0AF6  2E:A3 12EC                           mov     cs:data_74e,ax          ; (72F2:12EC=0)
72F2:0AFA  5B                                   pop     bx
72F2:0AFB  E8 038E                              call    sub_14                  ; (0E8C)
72F2:0AFE  C3                                   retn
72F2:0AFF                       loc_44:                                         ;  xref 72F2:0ABA, 0AC2, 0AD4, 0ADC
72F2:0AFF  33 DB                                xor     bx,bx                   ; Zero register
72F2:0B01  4B                                   dec     bx
72F2:0B02  E8 0387                              call    sub_14                  ; (0E8C)
72F2:0B05  C3                                   retn
                               sub_10          endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0B99
                               ;��������������������������������������������������������������������������

                               sub_11          proc    near
72F2:0B06  51                                   push    cx
72F2:0B07  52                                   push    dx
72F2:0B08  50                                   push    ax
72F2:0B09  B8 4400                              mov     ax,4400h
72F2:0B0C  E8 04A5                              call    sub_24                  ; (0FB4)
72F2:0B0F  80 F2 80                             xor     dl,80h
72F2:0B12  F6 C2 80                             test    dl,80h
72F2:0B15  74 09                                jz      loc_45                  ; Jump if zero
72F2:0B17  B8 5700                              mov     ax,5700h
72F2:0B1A  E8 0497                              call    sub_24                  ; (0FB4)
72F2:0B1D  F6 C6 80                             test    dh,80h
72F2:0B20                       loc_45:                                         ;  xref 72F2:0B15
72F2:0B20  58                                   pop     ax
72F2:0B21  5A                                   pop     dx
72F2:0B22  59                                   pop     cx
72F2:0B23  C3                                   retn
                               sub_11          endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;��������������������������������������������������������������������������

                               sub_12          proc    near
72F2:0B24  E8 03E8                              call    sub_21                  ; (0F0F)
72F2:0B27  B8 4201                              mov     ax,4201h
72F2:0B2A  33 C9                                xor     cx,cx                   ; Zero register
72F2:0B2C  33 D2                                xor     dx,dx                   ; Zero register
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 19

72F2:0B2E  E8 0483                              call    sub_24                  ; (0FB4)
72F2:0B31  2E:A3 12A5                           mov     cs:data_57e,ax          ; (72F2:12A5=0)
72F2:0B35  2E:89 16 12A7                        mov     cs:data_58e,dx          ; (72F2:12A7=0)
72F2:0B3A  B8 4202                              mov     ax,4202h
72F2:0B3D  33 C9                                xor     cx,cx                   ; Zero register
72F2:0B3F  33 D2                                xor     dx,dx                   ; Zero register
72F2:0B41  E8 0470                              call    sub_24                  ; (0FB4)
72F2:0B44  2E:A3 12A9                           mov     cs:data_59e,ax          ; (72F2:12A9=0)
72F2:0B48  2E:89 16 12AB                        mov     cs:data_60e,dx          ; (72F2:12AB=0)
72F2:0B4D  B8 4200                              mov     ax,4200h
72F2:0B50  2E:8B 16 12A5                        mov     dx,cs:data_57e          ; (72F2:12A5=0)
72F2:0B55  2E:8B 0E 12A7                        mov     cx,cs:data_58e          ; (72F2:12A7=0)
72F2:0B5A  E8 0457                              call    sub_24                  ; (0FB4)
72F2:0B5D  E8 03A6                              call    sub_20                  ; (0F06)
72F2:0B60  C3                                   retn
                               sub_12          endp

72F2:0B61  0A C0 75 22 2E 83                    db      0Ah, 0C0h, 75h, 22h, 2Eh, 83h
72F2:0B67  26 B3 12 FE E8 85                    db      26h, 0B3h, 12h, 0FEh, 0E8h, 85h
72F2:0B6D  03 E8 43 04 72 0B                    db      3, 0E8h, 43h, 4, 72h, 0Bh
72F2:0B73  F6 C6 80 74 03 80                    db      0F6h, 0C6h, 80h, 74h, 3, 80h
72F2:0B79  EE C8 E9 E1 F8 2E                    db      0EEh, 0C8h, 0E9h, 0E1h, 0F8h, 2Eh
72F2:0B7F  83 0E B3 12 01 E9                    db      83h, 0Eh, 0B3h, 12h, 1, 0E9h
72F2:0B85  D8 F8 3C 01 75 37                    db      0D8h, 0F8h, 3Ch, 1, 75h, 37h
72F2:0B8B  2E 83 26 B3 12 FE                    db      2Eh, 83h, 26h, 0B3h, 12h, 0FEh
72F2:0B91  F6 C6 80 74 03 80                    db      0F6h, 0C6h, 80h, 74h, 3, 80h
72F2:0B97  EE C8                                db      0EEh, 0C8h
72F2:0B99                       loc_46:
72F2:0B99  E8 FF6A                              call    sub_11                  ; (0B06)
72F2:0B9C  74 03                                jz      loc_47                  ; Jump if zero
72F2:0B9E  80 C6 C8                             add     dh,0C8h
72F2:0BA1                       loc_47:                                         ;  xref 72F2:0B9C
72F2:0BA1  E8 0410                              call    sub_24                  ; (0FB4)
72F2:0BA4  89 46 FC                             mov     [bp-4],ax
72F2:0BA7  2E:83 16 12B3 00                     adc     word ptr cs:data_64e,0  ; (72F2:12B3=0)
72F2:0BAD  E9 F906                              jmp     loc_12                  ; (04B6)
72F2:0BB0  3C 02 75 0E E8 4F                    db      3Ch, 2, 75h, 0Eh, 0E8h, 4Fh
72F2:0BB6  FF 74 09 81 6E F6                    db      0FFh, 74h, 9, 81h, 6Eh, 0F6h
72F2:0BBC  00 10 83 5E F8 00                    db      0, 10h, 83h, 5Eh, 0F8h, 0
72F2:0BC2                       loc_48:
72F2:0BC2  E9 F86A                              jmp     loc_10                  ; (042F)
72F2:0BC5  2E 80 26 B3 12 FE                    db      2Eh, 80h, 26h, 0B3h, 12h, 0FEh
72F2:0BCB  E8 38 FF 74 F2 2E                    db      0E8h, 38h, 0FFh, 74h, 0F2h, 2Eh
72F2:0BD1  89 0E AF 12 2E 89                    db      89h, 0Eh, 0AFh, 12h, 2Eh, 89h
72F2:0BD7  16 AD 12 2E C7 06                    db      16h, 0ADh, 12h, 2Eh, 0C7h, 6
72F2:0BDD  B1 12 00 00 E8 40                    db      0B1h, 12h, 0, 0, 0E8h, 40h
72F2:0BE3  FF 2E A1 A9 12 2E                    db      0FFh, 2Eh, 0A1h, 0A9h, 12h, 2Eh
72F2:0BE9  8B 16 AB 12 2D 00                    db      8Bh, 16h, 0ABh, 12h, 2Dh, 0
72F2:0BEF  10 83 DA 00 2E 2B                    db      10h, 83h, 0DAh, 0, 2Eh, 2Bh
72F2:0BF5  06 A5 12 2E 1B 16                    db      6, 0A5h, 12h, 2Eh, 1Bh, 16h
72F2:0BFB  A7 12 79 08 C7 46                    db      0A7h, 12h, 79h, 8, 0C7h, 46h
72F2:0C01  FC 00 00 E9 62 FA                    db      0FCh, 0, 0, 0E9h, 62h, 0FAh
72F2:0C07  75 08 3B C1 77 04                    db      75h, 8, 3Bh, 0C1h, 77h, 4
72F2:0C0D  2E A3 AF 12                          db      2Eh, 0A3h, 0AFh, 12h
72F2:0C11                       loc_49:
72F2:0C11  2E:8B 16 12A5                        mov     dx,cs:data_57e          ; (72F2:12A5=0)
72F2:0C16  2E:8B 0E 12A7                        mov     cx,cs:data_58e          ; (72F2:12A7=0)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 20

72F2:0C1B  0B C9                                or      cx,cx                   ; Zero ?
72F2:0C1D  75 05                                jnz     loc_50                  ; Jump if not zero
72F2:0C1F  83 FA 1C                             cmp     dx,1Ch
72F2:0C22  76 1A                                jbe     loc_51                  ; Jump if below or =
72F2:0C24                       loc_50:                                         ;  xref 72F2:0C1D, 0CA7
72F2:0C24  2E:8B 16 12AD                        mov     dx,cs:data_61e          ; (72F2:12AD=0)
72F2:0C29  2E:8B 0E 12AF                        mov     cx,cs:data_62e          ; (72F2:12AF=0)
72F2:0C2E  B4 3F                                mov     ah,3Fh                  ; '?'
72F2:0C30  E8 0381                              call    sub_24                  ; (0FB4)
72F2:0C33  2E:03 06 12B1                        add     ax,cs:data_63e          ; (72F2:12B1=0)
72F2:0C38  89 46 FC                             mov     [bp-4],ax
72F2:0C3B  E9 F878                              jmp     loc_12                  ; (04B6)
72F2:0C3E                       loc_51:                                         ;  xref 72F2:0C22
72F2:0C3E  8B F2                                mov     si,dx
72F2:0C40  8B FA                                mov     di,dx
72F2:0C42  2E:03 3E 12AF                        add     di,cs:data_62e          ; (72F2:12AF=0)
72F2:0C47  83 FF 1C                             cmp     di,1Ch
72F2:0C4A  72 04                                jb      loc_52                  ; Jump if below
72F2:0C4C  33 FF                                xor     di,di                   ; Zero register
72F2:0C4E  EB 05                                jmp     short loc_53            ; (0C55)
72F2:0C50                       loc_52:                                         ;  xref 72F2:0C4A
72F2:0C50  83 EF 1C                             sub     di,1Ch
72F2:0C53  F7 DF                                neg     di
72F2:0C55                       loc_53:                                         ;  xref 72F2:0C4E
72F2:0C55  8B C2                                mov     ax,dx
72F2:0C57  2E:8B 0E 12AB                        mov     cx,cs:data_60e          ; (72F2:12AB=0)
72F2:0C5C  2E:8B 16 12A9                        mov     dx,cs:data_59e          ; (72F2:12A9=0)
72F2:0C61  83 C2 0F                             add     dx,0Fh
72F2:0C64  83 D1 00                             adc     cx,0
72F2:0C67  83 E2 F0                             and     dx,0FFF0h
72F2:0C6A  81 EA 0FFC                           sub     dx,0FFCh
72F2:0C6E  83 D9 00                             sbb     cx,0
72F2:0C71  03 D0                                add     dx,ax
72F2:0C73  83 D1 00                             adc     cx,0
72F2:0C76  B8 4200                              mov     ax,4200h
72F2:0C79  E8 0338                              call    sub_24                  ; (0FB4)
72F2:0C7C  B9 001C                              mov     cx,1Ch
72F2:0C7F  2B CF                                sub     cx,di
72F2:0C81  2B CE                                sub     cx,si
72F2:0C83  B4 3F                                mov     ah,3Fh                  ; '?'
72F2:0C85  2E:8B 16 12AD                        mov     dx,cs:data_61e          ; (72F2:12AD=0)
72F2:0C8A  E8 0327                              call    sub_24                  ; (0FB4)
72F2:0C8D  2E:01 06 12AD                        add     cs:data_61e,ax          ; (72F2:12AD=0)
72F2:0C92  2E:29 06 12AF                        sub     cs:data_62e,ax          ; (72F2:12AF=0)
72F2:0C97  2E:01 06 12B1                        add     cs:data_63e,ax          ; (72F2:12B1=0)
72F2:0C9C  33 C9                                xor     cx,cx                   ; Zero register
72F2:0C9E  BA 001C                              mov     dx,1Ch
72F2:0CA1  B8 4200                              mov     ax,4200h
72F2:0CA4  E8 030D                              call    sub_24                  ; (0FB4)
72F2:0CA7  E9 FF7A                              jmp     loc_50                  ; (0C24)
72F2:0CAA  2E 80 26 B3 12 FE                    db      2Eh, 80h, 26h, 0B3h, 12h, 0FEh
72F2:0CB0  E8 53 FE 75 03 E9                    db      0E8h, 53h, 0FEh, 75h, 3, 0E9h
72F2:0CB6  0A FF 2E 89 0E AF                    db      0Ah, 0FFh, 2Eh, 89h, 0Eh, 0AFh
72F2:0CBC  12 2E 89 16 AD 12                    db      12h, 2Eh, 89h, 16h, 0ADh, 12h
72F2:0CC2  2E C7 06 B1 12 00                    db      2Eh, 0C7h, 6, 0B1h, 12h, 0
72F2:0CC8  00 E8 58 FE 2E A1                    db      0, 0E8h, 58h, 0FEh, 2Eh, 0A1h
72F2:0CCE  A9 12 2E 8B 16 AB                    db      0A9h, 12h, 2Eh, 8Bh, 16h, 0ABh
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 21

72F2:0CD4  12 2D 00 10 83 DA                    db      12h, 2Dh, 0, 10h, 83h, 0DAh
72F2:0CDA  00 2E 2B 06 A5 12                    db      0, 2Eh, 2Bh, 6, 0A5h, 12h
72F2:0CE0  2E 1B 16 A7 12 78                    db      2Eh, 1Bh, 16h, 0A7h, 12h, 78h
72F2:0CE6  02 EB                                db      2, 0EBh
72F2:0CE8  7E                                   db      7Eh
72F2:0CE9                       loc_54:                                         ;  xref 72F2:0D6D, 0D83
72F2:0CE9  E8 00FA                              call    sub_13                  ; (0DE6)
72F2:0CEC  0E                                   push    cs
72F2:0CED  1F                                   pop     ds
72F2:0CEE  8B 16 12A9                           mov     dx,ds:data_59e          ; (72F2:12A9=0)
72F2:0CF2  8B 0E 12AB                           mov     cx,ds:data_60e          ; (72F2:12AB=0)
72F2:0CF6  83 C2 0F                             add     dx,0Fh
72F2:0CF9  83 D1 00                             adc     cx,0
72F2:0CFC  83 E2 F0                             and     dx,0FFF0h
72F2:0CFF  81 EA 0FFC                           sub     dx,0FFCh
72F2:0D03  83 D9 00                             sbb     cx,0
72F2:0D06  B8 4200                              mov     ax,4200h
72F2:0D09  E8 02A8                              call    sub_24                  ; (0FB4)
72F2:0D0C  BA 0004                              mov     dx,4
72F2:0D0F  B9 001C                              mov     cx,1Ch
72F2:0D12  B4 3F                                mov     ah,3Fh                  ; '?'
72F2:0D14  E8 029D                              call    sub_24                  ; (0FB4)
72F2:0D17  B8 4200                              mov     ax,4200h
72F2:0D1A  33 C9                                xor     cx,cx                   ; Zero register
72F2:0D1C  8B D1                                mov     dx,cx
72F2:0D1E  E8 0293                              call    sub_24                  ; (0FB4)
72F2:0D21  BA 0004                              mov     dx,4
72F2:0D24  B9 001C                              mov     cx,1Ch
72F2:0D27  B4 40                                mov     ah,40h                  ; '@'
72F2:0D29  E8 0288                              call    sub_24                  ; (0FB4)
72F2:0D2C  BA F000                              mov     dx,0F000h
72F2:0D2F  B9 FFFF                              mov     cx,0FFFFh
72F2:0D32  B8 4202                              mov     ax,4202h
72F2:0D35  E8 027C                              call    sub_24                  ; (0FB4)
72F2:0D38  B4 40                                mov     ah,40h                  ; '@'
72F2:0D3A  33 C9                                xor     cx,cx                   ; Zero register
72F2:0D3C  E8 0275                              call    sub_24                  ; (0FB4)
72F2:0D3F  8B 16 12A5                           mov     dx,ds:data_57e          ; (72F2:12A5=0)
72F2:0D43  8B 0E 12A7                           mov     cx,ds:data_58e          ; (72F2:12A7=0)
72F2:0D47  B8 4200                              mov     ax,4200h
72F2:0D4A  E8 0267                              call    sub_24                  ; (0FB4)
72F2:0D4D  B8 5700                              mov     ax,5700h
72F2:0D50  E8 0261                              call    sub_24                  ; (0FB4)
72F2:0D53  F6 C6 80                             test    dh,80h
72F2:0D56  74 09                                jz      loc_55                  ; Jump if zero
72F2:0D58  80 EE C8                             sub     dh,0C8h
72F2:0D5B  B8 5701                              mov     ax,5701h
72F2:0D5E  E8 0253                              call    sub_24                  ; (0FB4)
72F2:0D61                       loc_55:                                         ;  xref 72F2:0D56
72F2:0D61  E8 0128                              call    sub_14                  ; (0E8C)
72F2:0D64  E9 F6C8                              jmp     loc_10                  ; (042F)
72F2:0D67                       loc_56:
72F2:0D67  75 07                                jnz     loc_57                  ; Jump if not zero
72F2:0D69  3B C1                                cmp     ax,cx
72F2:0D6B  77 03                                ja      loc_57                  ; Jump if above
72F2:0D6D  E9 FF79                              jmp     loc_54                  ; (0CE9)
72F2:0D70                       loc_57:                                         ;  xref 72F2:0D67, 0D6B
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 22

72F2:0D70  2E:8B 16 12A5                        mov     dx,cs:data_57e          ; (72F2:12A5=0)
72F2:0D75  2E:8B 0E 12A7                        mov     cx,cs:data_58e          ; (72F2:12A7=0)
72F2:0D7A  0B C9                                or      cx,cx                   ; Zero ?
72F2:0D7C  75 08                                jnz     loc_58                  ; Jump if not zero
72F2:0D7E  83 FA 1C                             cmp     dx,1Ch
72F2:0D81  77 03                                ja      loc_58                  ; Jump if above
72F2:0D83  E9 FF63                              jmp     loc_54                  ; (0CE9)
72F2:0D86                       loc_58:                                         ;  xref 72F2:0D7C, 0D81
72F2:0D86  E8 016A                              call    sub_19                  ; (0EF3)
72F2:0D89  E8 0228                              call    sub_24                  ; (0FB4)
72F2:0D8C  E8 0138                              call    sub_17                  ; (0EC7)
72F2:0D8F  B8 5700                              mov     ax,5700h
72F2:0D92  E8 021F                              call    sub_24                  ; (0FB4)
72F2:0D95  F6 C6 80                             test    dh,80h
72F2:0D98  75 09                                jnz     loc_59                  ; Jump if not zero
72F2:0D9A  80 C6 C8                             add     dh,0C8h
72F2:0D9D  B8 5701                              mov     ax,5701h
72F2:0DA0  E8 0211                              call    sub_24                  ; (0FB4)
72F2:0DA3                       loc_59:                                         ;  xref 72F2:0D98
72F2:0DA3  E9 F710                              jmp     loc_12                  ; (04B6)
72F2:0DA6  E9 F686                              jmp     loc_10                  ; (042F)
72F2:0DA9  2E 8F 06 41 12 2E                    db      2Eh, 8Fh, 6, 41h, 12h, 2Eh
72F2:0DAF  8F 06 43 12 2E 8F                    db      8Fh, 6, 43h, 12h, 2Eh, 8Fh
72F2:0DB5  06 DB 12 2E 83 26                    db      6, 0DBh, 12h, 2Eh, 83h, 26h
72F2:0DBB  DB 12 FE 2E 80 3E                    db      0DBh, 12h, 0FEh, 2Eh, 80h, 3Eh
72F2:0DC1  DA 12 00 75 11 2E                    db      0DAh, 12h, 0, 75h, 11h, 2Eh
72F2:0DC7  FF 36 DB 12 2E FF                    db      0FFh, 36h, 0DBh, 12h, 2Eh, 0FFh
72F2:0DCD  1E 2D 12 73 06 2E                    db      1Eh, 2Dh, 12h, 73h, 6, 2Eh
72F2:0DD3  FE 06 DA 12 F9 2E                    db      0FEh, 6, 0DAh, 12h, 0F9h, 2Eh
72F2:0DD9  FF 2E 41 12 32 C0                    db      0FFh, 2Eh, 41h, 12h, 32h, 0C0h
72F2:0DDF  2E C6 06 DA 12 01                    db      2Eh, 0C6h, 6, 0DAh, 12h, 1
72F2:0DE5  CF                                   db      0CFh

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:08B3, 0A9E, 0CE9
                               ;��������������������������������������������������������������������������

                               sub_13          proc    near
72F2:0DE6  2E:C6 06 12DA 00                     mov     byte ptr cs:data_65e,0  ; (72F2:12DA=0)
72F2:0DEC  E8 0120                              call    sub_21                  ; (0F0F)
72F2:0DEF  0E                                   push    cs
72F2:0DF0  1F                                   pop     ds
72F2:0DF1  B0 13                                mov     al,13h
72F2:0DF3  E8 F3BF                              call    sub_1                   ; (01B5)
72F2:0DF6  89 1E 122D                           mov     ds:data_41e,bx          ; (72F2:122D=0)
72F2:0DFA  8C 06 122F                           mov     ds:data_42e,es          ; (72F2:122F=0)
72F2:0DFE  89 1E 1239                           mov     ds:data_46e,bx          ; (72F2:1239=0)
72F2:0E02  8C 06 123B                           mov     ds:data_47e,es          ; (72F2:123B=0)
72F2:0E06  B2 00                                mov     dl,0
72F2:0E08  B0 0D                                mov     al,0Dh
72F2:0E0A  E8 F3A8                              call    sub_1                   ; (01B5)
72F2:0E0D  8C C0                                mov     ax,es
72F2:0E0F  3D C000                              cmp     ax,0C000h
72F2:0E12  73 02                                jae     loc_60                  ; Jump if above or =
72F2:0E14  B2 02                                mov     dl,2
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 23

72F2:0E16                       loc_60:                                         ;  xref 72F2:0E12
72F2:0E16  B0 0E                                mov     al,0Eh
72F2:0E18  E8 F39A                              call    sub_1                   ; (01B5)
72F2:0E1B  8C C0                                mov     ax,es
72F2:0E1D  3D C000                              cmp     ax,0C000h
72F2:0E20  73 02                                jae     loc_61                  ; Jump if above or =
72F2:0E22  B2 02                                mov     dl,2
72F2:0E24                       loc_61:                                         ;  xref 72F2:0E20
72F2:0E24  88 16 1250                           mov     ds:data_53e,dl          ; (72F2:1250=0)
72F2:0E28  E8 0111                              call    sub_22                  ; (0F3C)
72F2:0E2B  8C 16 12DD                           mov     ds:data_66e,ss          ; (72F2:12DD=0)
72F2:0E2F  89 26 12DF                           mov     ds:data_67e,sp          ; (72F2:12DF=0)
72F2:0E33  0E                                   push    cs
72F2:0E34  B8 0D40                              mov     ax,0D40h
72F2:0E37  50                                   push    ax
72F2:0E38  B8 0070                              mov     ax,70h
72F2:0E3B  8E C0                                mov     es,ax
72F2:0E3D  B9 FFFF                              mov     cx,0FFFFh
72F2:0E40  B0 CB                                mov     al,0CBh
72F2:0E42  33 FF                                xor     di,di                   ; Zero register
72F2:0E44  F2/AE                                repne   scasb                   ; Rept zf=0+cx>0 Scan es:[di] for al
72F2:0E46  4F                                   dec     di
72F2:0E47  9C                                   pushf                           ; Push flags
72F2:0E48  06                                   push    es
72F2:0E49  57                                   push    di
72F2:0E4A  9C                                   pushf                           ; Push flags
72F2:0E4B  58                                   pop     ax
72F2:0E4C  80 CC 01                             or      ah,1
72F2:0E4F  50                                   push    ax
72F2:0E50  E4 21                                in      al,21h                  ; port 21h, 8259-1 int IMR
72F2:0E52  A2 12E5                              mov     ds:data_70e,al          ; (72F2:12E5=0)
72F2:0E55  B0 FF                                mov     al,0FFh
72F2:0E57  E6 21                                out     21h,al                  ; port 21h, 8259-1 int comands
72F2:0E59  9D                                   popf                            ; Pop flags
72F2:0E5A  33 C0                                xor     ax,ax                   ; Zero register
72F2:0E5C  FF 2E 122D                           jmp     dword ptr ds:data_41e   ; (72F2:122D=0)
72F2:0E60                       loc_62:                                         ;  xref 72F2:0184
72F2:0E60  C5 16 1231                           lds     dx,dword ptr ds:data_43e        ; (72F2:1231=0) Load 32 bit ptr
72F2:0E64  B0 01                                mov     al,1
72F2:0E66  E8 0253                              call    sub_26                  ; (10BC)
72F2:0E69  0E                                   push    cs
72F2:0E6A  1F                                   pop     ds
72F2:0E6B  BA 0C89                              mov     dx,0C89h
72F2:0E6E  B0 13                                mov     al,13h
72F2:0E70  E8 0249                              call    sub_26                  ; (10BC)
72F2:0E73  B0 24                                mov     al,24h                  ; '$'
72F2:0E75  E8 F33D                              call    sub_1                   ; (01B5)
72F2:0E78  89 1E 123D                           mov     ds:data_48e,bx          ; (72F2:123D=0)
72F2:0E7C  8C 06 123F                           mov     ds:data_49e,es          ; (72F2:123F=0)
72F2:0E80  BA 0CBD                              mov     dx,0CBDh
72F2:0E83  B0 24                                mov     al,24h                  ; '$'
72F2:0E85  E8 0234                              call    sub_26                  ; (10BC)
72F2:0E88  E8 007B                              call    sub_20                  ; (0F06)
72F2:0E8B  C3                                   retn
                               sub_13          endp


    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 24

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0971, 0AFB, 0B02, 0D61
                               ;��������������������������������������������������������������������������

                               sub_14          proc    near
72F2:0E8C                       loc_63:
72F2:0E8C  E8 0080                              call    sub_21                  ; (0F0F)
72F2:0E8F  2E:C5 16 1239                        lds     dx,dword ptr cs:data_46e        ; (72F2:1239=0) Load 32 bit ptr
72F2:0E94  B0 13                                mov     al,13h
72F2:0E96  E8 0223                              call    sub_26                  ; (10BC)
72F2:0E99  2E:C5 16 123D                        lds     dx,dword ptr cs:data_48e        ; (72F2:123D=0) Load 32 bit ptr
72F2:0E9E  B0 24                                mov     al,24h                  ; '$'
72F2:0EA0  E8 0219                              call    sub_26                  ; (10BC)
72F2:0EA3  E8 0060                              call    sub_20                  ; (0F06)
72F2:0EA6  C3                                   retn
                               sub_14          endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;��������������������������������������������������������������������������

                               sub_15          proc    near
72F2:0EA7  B8 3300                              mov     ax,3300h
72F2:0EAA  E8 0107                              call    sub_24                  ; (0FB4)
72F2:0EAD  2E:88 16 12E1                        mov     cs:data_68e,dl          ; (72F2:12E1=0)
72F2:0EB2  B8 3301                              mov     ax,3301h
72F2:0EB5  32 D2                                xor     dl,dl                   ; Zero register
72F2:0EB7  E8 00FA                              call    sub_24                  ; (0FB4)
72F2:0EBA  C3                                   retn
                               sub_15          endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:042F, 0462, 07A7
                               ;��������������������������������������������������������������������������

                               sub_16          proc    near
72F2:0EBB  2E:8A 16 12E1                        mov     dl,cs:data_68e          ; (72F2:12E1=0)
72F2:0EC0  B8 3301                              mov     ax,3301h
72F2:0EC3  E8 00EE                              call    sub_24                  ; (0FB4)
72F2:0EC6  C3                                   retn
                               sub_16          endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0502, 081D, 0D8C
                               ;��������������������������������������������������������������������������

                               sub_17          proc    near
72F2:0EC7  2E:8F 06 12EA                        pop     word ptr cs:data_73e    ; (72F2:12EA=0)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 25

72F2:0ECC  9C                                   pushf                           ; Push flags
72F2:0ECD  50                                   push    ax
72F2:0ECE  53                                   push    bx
72F2:0ECF  51                                   push    cx
72F2:0ED0  52                                   push    dx
72F2:0ED1  56                                   push    si
72F2:0ED2  57                                   push    di
72F2:0ED3  1E                                   push    ds
72F2:0ED4  06                                   push    es
72F2:0ED5  2E:FF 26 12EA                        jmp     word ptr cs:data_73e    ; (72F2:12EA=0)

                               ;���� External Entry into Subroutine ��������������������������������������
                               ;
                               ;         Called from:   72F2:01A3, 0465, 07AA

                               sub_18:
72F2:0EDA  2E:C4 3E 1235                        les     di,dword ptr cs:data_45e        ; (72F2:1235=0) Load 32 bit ptr
72F2:0EDF  BE 124B                              mov     si,124Bh
72F2:0EE2  0E                                   push    cs
72F2:0EE3  1F                                   pop     ds
72F2:0EE4  FC                                   cld                             ; Clear direction
72F2:0EE5  B9 0005                              mov     cx,5

72F2:0EE8                       locloop_64:                                     ;  xref 72F2:0EF0
72F2:0EE8  AC                                   lodsb                           ; String [si] to al
72F2:0EE9  26:86 05                             xchg    al,es:[di]
72F2:0EEC  88 44 FF                             mov     [si-1],al
72F2:0EEF  47                                   inc     di
72F2:0EF0  E2 F6                                loop    locloop_64              ; Loop if cx > 0

72F2:0EF2  C3                                   retn
                               sub_17          endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:044B, 04B6, 04FF, 0817, 0D86
                               ;��������������������������������������������������������������������������

                               sub_19          proc    near
72F2:0EF3  2E:8F 06 12EA                        pop     word ptr cs:data_73e    ; (72F2:12EA=0)
72F2:0EF8  07                                   pop     es
72F2:0EF9  1F                                   pop     ds
72F2:0EFA  5F                                   pop     di
72F2:0EFB  5E                                   pop     si
72F2:0EFC  5A                                   pop     dx
72F2:0EFD  59                                   pop     cx
72F2:0EFE  5B                                   pop     bx
72F2:0EFF  58                                   pop     ax
72F2:0F00  9D                                   popf                            ; Pop flags
72F2:0F01  2E:FF 26 12EA                        jmp     word ptr cs:data_73e    ; (72F2:12EA=0)

                               ;���� External Entry into Subroutine ��������������������������������������
                               ;
                               ;         Called from:   72F2:01B0, 0468, 07AD, 0A87, 0A8C, 0B5D, 0E88
                               ;                             0EA3
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 26


                               sub_20:
72F2:0F06  2E:C7 06 135D 0DD3                   mov     word ptr cs:data_84e,0DD3h      ; (72F2:135D=0)
72F2:0F0D  EB 07                                jmp     short loc_65            ; (0F16)

                               ;���� External Entry into Subroutine ��������������������������������������
                               ;
                               ;         Called from:   72F2:01A0, 045F, 07A4, 0A39, 0A45, 0B24, 0DEC
                               ;                             0E8C

                               sub_21:
72F2:0F0F  2E:C7 06 135D 0DA7                   mov     word ptr cs:data_84e,0DA7h      ; (72F2:135D=0)
72F2:0F16                       loc_65:                                         ;  xref 72F2:0F0D
72F2:0F16  2E:8C 16 1359                        mov     cs:data_82e,ss          ; (72F2:1359=0)
72F2:0F1B  2E:89 26 1357                        mov     cs:data_81e,sp          ; (72F2:1357=0)
72F2:0F20  0E                                   push    cs
72F2:0F21  17                                   pop     ss
72F2:0F22  2E:8B 26 135B                        mov     sp,cs:data_83e          ; (72F2:135B=0)
72F2:0F27  2E:FF 16 135D                        call    word ptr cs:data_84e    ; (72F2:135D=0)
72F2:0F2C  2E:89 26 135B                        mov     cs:data_83e,sp          ; (72F2:135B=0)
72F2:0F31  2E:8E 16 1359                        mov     ss,cs:data_82e          ; (72F2:1359=0)
72F2:0F36  2E:8B 26 1357                        mov     sp,cs:data_81e          ; (72F2:1357=0)
72F2:0F3B  C3                                   retn
                               sub_19          endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0448, 0E28
                               ;��������������������������������������������������������������������������

                               sub_22          proc    near
72F2:0F3C  B0 01                                mov     al,1
72F2:0F3E  E8 F274                              call    sub_1                   ; (01B5)
72F2:0F41  2E:89 1E 1231                        mov     cs:data_43e,bx          ; (72F2:1231=0)
72F2:0F46  2E:8C 06 1233                        mov     word ptr cs:data_43e+2,es       ; (72F2:1233=0)
72F2:0F4B  0E                                   push    cs
72F2:0F4C  1F                                   pop     ds
72F2:0F4D  BA 0023                              mov     dx,23h
72F2:0F50  E8 0169                              call    sub_26                  ; (10BC)
72F2:0F53  C3                                   retn
                               sub_22          endp

72F2:0F54  E8 03 00 E9 D5 F4                    db      0E8h, 3, 0, 0E9h, 0D5h, 0F4h

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;��������������������������������������������������������������������������

                               sub_23          proc    near
72F2:0F5A  2E:80 3E 12E2 00                     cmp     byte ptr cs:data_69e,0  ; (72F2:12E2=0)
72F2:0F60  74 48                                je      loc_ret_67              ; Jump if equal
72F2:0F62  83 FB FF                             cmp     bx,0FFFFh
72F2:0F65  75 43                                jne     loc_ret_67              ; Jump if not equal
72F2:0F67  BB 0160                              mov     bx,160h
72F2:0F6A  E8 0047                              call    sub_24                  ; (0FB4)
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 27

72F2:0F6D  72 3B                                jc      loc_ret_67              ; Jump if carry Set
72F2:0F6F  8C CA                                mov     dx,cs
72F2:0F71  3B C2                                cmp     ax,dx
72F2:0F73  72 09                                jb      loc_66                  ; Jump if below
72F2:0F75  8E C0                                mov     es,ax
72F2:0F77  B4 49                                mov     ah,49h                  ; 'I'
72F2:0F79  E8 0038                              call    sub_24                  ; (0FB4)
72F2:0F7C  EB 2C                                jmp     short loc_ret_67        ; (0FAA)
72F2:0F7E                       loc_66:                                         ;  xref 72F2:0F73
72F2:0F7E  4A                                   dec     dx
72F2:0F7F  8E DA                                mov     ds,dx
72F2:0F81  C7 06 0001 0000                      mov     word ptr ds:data_16e,0  ; (72F1:0001=0FFFFh)
72F2:0F87  42                                   inc     dx
72F2:0F88  8E DA                                mov     ds,dx
72F2:0F8A  8E C0                                mov     es,ax
72F2:0F8C  50                                   push    ax
72F2:0F8D  2E:A3 124E                           mov     cs:data_52e,ax          ; (72F2:124E=0)
72F2:0F91  33 F6                                xor     si,si                   ; Zero register
72F2:0F93  8B FE                                mov     di,si
72F2:0F95  B9 0B00                              mov     cx,0B00h
72F2:0F98  F3/A5                                rep     movsw                   ; Rep while cx>0 Mov [si] to es:[di]
72F2:0F9A  48                                   dec     ax
72F2:0F9B  8E C0                                mov     es,ax
72F2:0F9D  2E:A1 1249                           mov     ax,cs:data_51e          ; (72F2:1249=0)
72F2:0FA1  26:A3 0001                           mov     es:data_15e,ax          ; (48FF:0001=0FFFFh)
72F2:0FA5  B8 0E8A                              mov     ax,0E8Ah
72F2:0FA8  50                                   push    ax
72F2:0FA9  CB                                   retf                            ; Return far

72F2:0FAA                       loc_ret_67:                                     ;  xref 72F2:0F60, 0F65, 0F6D, 0F7C
72F2:0FAA  C3                                   retn
                               sub_23          endp

72F2:0FAB  2E C6 06 F0 12 02                    db      2Eh, 0C6h, 6, 0F0h, 12h, 2
72F2:0FB1  E9 7B F4                             db      0E9h, 7Bh, 0F4h

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:0505, 0568, 06A4, 0753, 07A1, 081A, 096E
                               ;                             097A, 098C, 0996, 09A0, 09AA, 09B4, 09DA
                               ;                             09E4, 09F3, 09FF, 0A15, 0A2D, 0A94, 0AA9
                               ;                             0ABF, 0ACB, 0AD9, 0AE5, 0AF0, 0B0C, 0B1A
                               ;                             0B2E, 0B41, 0B5A, 0BA1, 0C30, 0C79, 0C8A
                               ;                             0CA4, 0D09, 0D14, 0D1E, 0D29, 0D35, 0D3C
                               ;                             0D4A, 0D50, 0D5E, 0D89, 0D92, 0DA0, 0EAA
                               ;                             0EB7, 0EC3, 0F6A, 0F79
                               ;��������������������������������������������������������������������������

                               sub_24          proc    near
72F2:0FB4  9C                                   pushf                           ; Push flags
72F2:0FB5  2E:FF 1E 1235                        call    dword ptr cs:data_45e   ; (72F2:1235=0)
72F2:0FBA  C3                                   retn
                               sub_24          endp

72F2:0FBB  FA 33 C0 8E D0 BC                    db      0FAh, 33h, 0C0h, 8Eh, 0D0h, 0BCh
72F2:0FC1  00 7C EB 4F DB DB                    db      0, 7Ch, 0EBh, 4Fh, 0DBh, 0DBh
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 28

72F2:0FC7  DB 20 F9 E0 E3 C3                    db      0DBh, 20h, 0F9h, 0E0h, 0E3h, 0C3h
72F2:0FCD  80 81 11 12 24 40                    db      80h, 81h, 11h, 12h, 24h, 40h
72F2:0FD3  81 11 12 24 40 F1                    db      81h, 11h, 12h, 24h, 40h, 0F1h
72F2:0FD9  F1 12 24 40 81 21                    db      0F1h, 12h, 24h, 40h, 81h, 21h
72F2:0FDF  12 24 40 81 10 E3                    db      12h, 24h, 40h, 81h, 10h, 0E3h
72F2:0FE5  C3 80 00 00                          db      0C3h, 80h, 0, 0
72F2:0FE9  0008[00]                             db      8 dup (0)
72F2:0FF1  82 44 F8 70 C0 82                    db      82h, 44h, 0F8h, 70h, 0C0h, 82h
72F2:0FF7  44 80 88 C0 82 44                    db      44h, 80h, 88h, 0C0h, 82h, 44h
72F2:0FFD  80 80 C0 82 44 F0                    db      80h, 80h, 0C0h, 82h, 44h, 0F0h
72F2:1003  70 C0 82 28 80 08                    db      70h, 0C0h, 82h, 28h, 80h, 8
72F2:1009  C0 82 28 80 88 00                    db      0C0h, 82h, 28h, 80h, 88h, 0
72F2:100F  F2 10 F8 70 C0 0E                    db      0F2h, 10h, 0F8h, 70h, 0C0h, 0Eh
72F2:1015  1F BA 00 B0 B4 0F                    db      1Fh, 0BAh, 0, 0B0h, 0B4h, 0Fh
72F2:101B  CD 10 3C 07 74 03                    db      0CDh, 10h, 3Ch, 7, 74h, 3
72F2:1021  BA 00 B8                             db      0BAh, 0, 0B8h
72F2:1024                       loc_68:
72F2:1024  8E C2                                mov     es,dx
72F2:1026  FC                                   cld                             ; Clear direction
72F2:1027  33 FF                                xor     di,di                   ; Zero register
72F2:1029  B9 07D0                              mov     cx,7D0h
72F2:102C  B8 0720                              mov     ax,720h
72F2:102F  F3/AB                                rep     stosw                   ; Rep while cx>0 Store ax to es:[di]
72F2:1031  BE 7C0E                              mov     si,7C0Eh
72F2:1034  BB 02AE                              mov     bx,2AEh
72F2:1037                       loc_69:                                         ;  xref 72F2:1059
72F2:1037  BD 0005                              mov     bp,5
72F2:103A  8B FB                                mov     di,bx
72F2:103C                       loc_70:                                         ;  xref 72F2:104F
72F2:103C  AC                                   lodsb                           ; String [si] to al
72F2:103D  8A F0                                mov     dh,al
72F2:103F  B9 0008                              mov     cx,8

72F2:1042                       locloop_71:                                     ;  xref 72F2:104C
72F2:1042  B8 0720                              mov     ax,720h
72F2:1045  D1 E2                                shl     dx,1                    ; Shift w/zeros fill
72F2:1047  73 02                                jnc     loc_72                  ; Jump if carry=0
72F2:1049  B0 DB                                mov     al,0DBh
72F2:104B                       loc_72:                                         ;  xref 72F2:1047
72F2:104B  AB                                   stosw                           ; Store ax to es:[di]
72F2:104C  E2 F4                                loop    locloop_71              ; Loop if cx > 0

72F2:104E  4D                                   dec     bp
72F2:104F  75 EB                                jnz     loc_70                  ; Jump if not zero
72F2:1051  81 C3 00A0                           add     bx,0A0h
72F2:1055  81 FE 7C59                           cmp     si,7C59h
72F2:1059  72 DC                                jb      loc_69                  ; Jump if below
72F2:105B  B4 01                                mov     ah,1
72F2:105D  CD 10                                int     10h                     ; Video display   ah=functn 01h
                                                                               ;  set cursor mode in cx
72F2:105F  B0 08                                mov     al,8
72F2:1061  BA 7CB9                              mov     dx,7CB9h
72F2:1064  E8 0055                              call    sub_26                  ; (10BC)
72F2:1067  B8 07FE                              mov     ax,7FEh
72F2:106A  E6 21                                out     21h,al                  ; port 21h, 8259-1 int comands
                                                                               ;  al = 0FEh, IRQ0 (timer) only
72F2:106C  FB                                   sti                             ; Enable interrupts
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 29

72F2:106D  33 DB                                xor     bx,bx                   ; Zero register
72F2:106F  B9 0001                              mov     cx,1
72F2:1072                       loc_73:                                         ;  xref 72F2:1072
72F2:1072  EB FE                                jmp     short loc_73            ; (1072)
72F2:1074  49 75 0B 33 FF 43                    db      49h, 75h, 0Bh, 33h, 0FFh, 43h
72F2:107A  E8 0A 00 E8 07 00                    db      0E8h, 0Ah, 0, 0E8h, 7, 0
72F2:1080  B1 04 B0 20 E6 20                    db      0B1h, 4, 0B0h, 20h, 0E6h, 20h
72F2:1086  CF B9 28 00                          db      0CFh, 0B9h, 28h, 0

72F2:108A                       locloop_74:                                     ;  xref 72F2:108F
72F2:108A  E8 0026                              call    sub_25                  ; (10B3)
72F2:108D  AB                                   stosw                           ; Store ax to es:[di]
72F2:108E  AB                                   stosw                           ; Store ax to es:[di]
72F2:108F  E2 F9                                loop    locloop_74              ; Loop if cx > 0

72F2:1091  81 C7 009E                           add     di,9Eh
72F2:1095  B9 0017                              mov     cx,17h

72F2:1098                       locloop_75:                                     ;  xref 72F2:10A0
72F2:1098  E8 0018                              call    sub_25                  ; (10B3)
72F2:109B  AB                                   stosw                           ; Store ax to es:[di]
72F2:109C  81 C7 009E                           add     di,9Eh
72F2:10A0  E2 F6                                loop    locloop_75              ; Loop if cx > 0

72F2:10A2  FD                                   std                             ; Set direction flag
72F2:10A3  80 36 7CE7 01                        xor     byte ptr ds:data_88e,1  ; (72F2:7CE7=0)
72F2:10A8  80 36 7CD7 28                        xor     byte ptr ds:data_86e,28h        ; (72F2:7CD7=0) '('
72F2:10AD  80 36 7CE2 28                        xor     byte ptr ds:data_87e,28h        ; (72F2:7CE2=0) '('
72F2:10B2  C3                                   retn

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:108A, 1098
                               ;��������������������������������������������������������������������������

                               sub_25          proc    near
72F2:10B3  83 E3 03                             and     bx,3
72F2:10B6  8A 87 7C0A                           mov     al,ds:data_85e[bx]      ; (72F2:7C0A=0)
72F2:10BA  43                                   inc     bx
72F2:10BB  C3                                   retn
                               sub_25          endp


                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;
                               ;         Called from:   72F2:01AD, 07D2, 0E66, 0E70, 0E85, 0E96, 0EA0
                               ;                             0F50, 1064
                               ;��������������������������������������������������������������������������

                               sub_26          proc    near
72F2:10BC  06                                   push    es
72F2:10BD  53                                   push    bx
72F2:10BE  33 DB                                xor     bx,bx                   ; Zero register
72F2:10C0  8E C3                                mov     es,bx
72F2:10C2  8A D8                                mov     bl,al
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 30

72F2:10C4  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
72F2:10C6  D1 E3                                shl     bx,1                    ; Shift w/zeros fill
72F2:10C8  26:89 17                             mov     es:[bx],dx
72F2:10CB  26:8C 5F 02                          mov     es:[bx+2],ds
72F2:10CF  5B                                   pop     bx
72F2:10D0  07                                   pop     es
72F2:10D1  C3                                   retn
                               sub_26          endp

72F2:10D2  E8 11 FD B2 80 E8                    db      0E8h, 11h, 0FDh, 0B2h, 80h, 0E8h
72F2:10D8  08 00 32 D2 E8 03                    db      8, 0, 32h, 0D2h, 0E8h, 3
72F2:10DE  00 E9 AA FD                          db      0, 0E9h, 0AAh, 0FDh

                               ;��������������������������������������������������������������������������
                               ;                              SUBROUTINE
                               ;��������������������������������������������������������������������������

                               sub_27          proc    near
72F2:10E2  B8 0201                              mov     ax,201h
72F2:10E5  E8 0011                              call    sub_28                  ; (10F9)
72F2:10E8  75 15                                jnz     loc_76                  ; Jump if not zero
72F2:10EA  00 33                                add     [bp+di],dh
72F2:10EC  1B 70 00                             sbb     si,[bx+si+0]
72F2:10EF  00 00                                add     [bx+si],al
72F2:10F1  0F 50 12 7F 14 F8                    db      0Fh, 50h, 12h, 7Fh, 14h, 0F8h
72F2:10F7  0F E5                                db      0Fh, 0E5h

                               ;���� External Entry into Subroutine ��������������������������������������
                               ;
                               ;         Called from:   72F2:10E5

                               sub_28:
72F2:10F9  0F 00 11 9A 0E 67                    db      0Fh, 0, 11h, 9Ah, 0Eh, 67h
72F2:10FF                       loc_76:                                         ;  xref 72F2:10E8
72F2:10FF  0C 70                                or      al,70h                  ; 'p'
72F2:1101  00 33                                add     [bp+di],dh
72F2:1103  0E                                   push    cs
72F2:1104  2E:03 99 1114                        add     bx,word ptr cs:[1114h][bx+di]   ; (72F2:1114=8D8Eh)
72F2:1109  11 EF                                adc     di,bp
72F2:110B  8E 00                                mov     es,[bx+si]
72F2:110D  00 11                                add     [bx+di],dl
72F2:110F  11 50 12                             adc     [bx+si+12h],dx
72F2:1112  92                                   xchg    ax,dx
72F2:1113  13 8E 118D                           adc     cx,ss:data_24e[bp]      ; (72F2:118D=0)
                               sub_27          endp


                               seg_a           ends



                                               end     start
    4096.lst         Hello, world!$                    Sourcer Listing v1.88    14-Sep-90   6:58 pm   Page 31


                               �������������������� CROSS REFERENCE - KEY ENTRY POINTS �������������������

                                   seg:off    type        label
                                  ---- ----   ----   ---------------
                                  72F2:0100   far    start


Downloaded From P-80 International Information Systems 304-744-2253