PAGE  59,132

;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
;ÛÛ                                                                      ÛÛ
;ÛÛ                             TWELVE                                   ÛÛ
;ÛÛ                                                                      ÛÛ
;ÛÛ      Created:   26-Apr-90                                            ÛÛ
;ÛÛ      Version:                                                        ÛÛ
;ÛÛ      Passes:    5          Analysis Options on: H                    ÛÛ
;ÛÛ                                                                      ÛÛ
;ÛÛ                                                                      ÛÛ
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ

data_1e         equ     3366h                   ; (7415:3366=0)
data_2e         equ     7EF7h                   ; (7415:7EF7=0)
data_3e         equ     8C8Dh                   ; (7415:8C8D=0)

seg_a           segment byte public
                assume  cs:seg_a, ds:seg_a


                org     100h

twelve          proc    far

start:
;*              jmp     $+4h                    ;*
                db      0E9h, 1, 0
                db      21h, 46h, 0B8h, 9Bh, 1Ah, 0BFh
                db      2Bh, 1, 90h, 4Bh, 0F8h, 0FCh
                db      0B9h, 71h, 5, 31h, 0Dh, 2Bh
                db      0DAh, 33h, 0D9h, 2Bh, 0D9h, 2Bh
                db      0D8h, 90h, 33h, 0D1h, 31h, 5
                db      46h, 43h, 0F8h, 40h, 90h, 47h
                db      0E2h, 0E9h, 40h, 40h, 61h, 1Fh
                db      6Eh, 3, 0C9h, 82h, 6Fh, 36h
                db      0D1h, 5Ah, 8Bh, 33h, 0C3h, 6Bh
                db      0D5h, 0D7h, 85h, 0CCh, 17h, 4Eh
                db      0E9h, 0F3h, 7Ch, 0B1h, 29h, 52h
                db      0FBh, 0FFh, 74h, 0B5h, 2Bh, 56h
                db      0F9h, 0F3h, 64h, 0A9h, 0Dh, 32h
                db      9Bh, 97h, 1Ch, 0D5h, 7Fh, 64h
                db      82h, 7Bh, 0ADh, 94h, 1Eh, 61h
                db      6Ch, 29h, 7Dh, 0F3h, 4Ah, 0F7h
                db      0F4h, 4Ah, 0FEh, 0FFh, 1, 0
                db      51h, 7Ch, 7, 47h, 0DDh, 22h
                db      0CCh, 0EFh, 0D5h, 1Bh, 0F2h, 81h
                db      0DEh, 36h, 5Fh, 0D1h, 0D3h, 63h
                db      0FAh, 1Eh, 0CCh, 23h, 0E1h, 76h
                db      0ABh, 0Bh, 39h, 5Ch, 0DEh, 0B9h
                db      3, 0F4h, 7Eh, 21h, 74h, 31h
                db      0Ch, 0EFh, 59h, 9, 0D9h, 37h
                db      12h, 44h, 92h, 18h, 30h, 12h
                db      0ABh, 16h, 14h, 4Ch, 0BAh, 6Eh
                db      2Bh, 6Fh, 0F5h, 5Bh, 4Ch, 0F3h
                db      7Dh, 0Dh, 53h, 4Ah, 0F1h, 0F7h
                db      59h, 5Dh, 98h, 2, 0Fh, 29h
                db      8Bh, 0D0h, 5Ch, 0ADh, 29h, 54h
                db      3, 52h, 13h, 76h, 0D5h, 58h
                db      13h, 4, 0D7h, 63h, 39h, 74h
                db      8Bh, 7, 0FDh, 8Ah, 0F9h, 1Ah
                db      0D1h, 0F5h, 39h, 0EDh, 0BBh, 0C9h
                db      63h, 8Dh, 0B9h, 97h, 1Eh, 6Dh
                db      0BBh, 14h, 0EBh, 67h, 14h, 50h
                db      34h, 93h, 41h, 0D3h, 0D6h, 87h
                db      0FEh, 0CBh, 0F5h, 87h, 0F9h, 55h
                db      16h, 7, 39h, 49h, 0F5h, 0F3h
                db      0B6h, 0F0h, 64h, 0A5h, 21h, 57h
                db      28h, 2Ch, 0A9h, 0DCh, 6Dh, 8Fh
                db      7Fh, 5Eh, 0ABh, 21h, 66h, 1Ch
                db      6Ch, 35h, 63h, 0F7h, 4Ch, 0F5h
                db      0FDh, 0Ch, 59h, 78h, 6, 43h
                db      0BBh, 78h, 3Bh, 6Eh, 2Fh, 0B2h
                db      15h, 0AEh, 16h, 13h, 0D0h, 3Eh
                db      0F6h, 15h, 85h, 0DBh, 0A1h, 5Ch
                db      20h, 0CEh, 9Eh, 0F0h, 1Eh, 68h
                db      39h, 78h, 79h, 8, 0FDh, 0D7h
                db      0EAh, 0CBh, 0EAh, 87h, 0, 6Eh
                db      51h, 28h, 0D5h, 0D7h, 2Dh, 0A7h
                db      38h, 5Ch, 61h, 28h, 0D5h, 0DDh
                db      0A1h, 0Dh, 66h, 91h, 1Fh, 0A5h
                db      74h, 31h, 0Ah, 0F3h, 51h, 55h
                db      0C1h, 0F3h, 80h, 0Dh, 0ABh, 4Bh
                db      0EDh, 0ACh, 66h, 45h, 14h, 55h
                db      34h, 93h, 50h, 0BEh, 14h, 0DDh
                db      63h, 2Fh, 94h, 0D0h, 6Ch, 0Eh
                db      13h, 0Ch, 7Eh, 21h, 74h, 31h
                db      5Ch, 0FFh, 30h, 0D2h, 4Dh, 0F5h
                db      0C8h, 78h, 3Bh, 6Eh, 2Fh, 72h
                db      0D5h, 1Ah, 0F4h, 0A0h, 0D9h, 36h
                db      0B5h, 0D2h, 19h, 5Ch, 0Dh, 6Bh
                db      0EDh, 0B8h, 20h, 0D2h, 7Ch, 0B9h
                db      0Dh, 7Ah, 0ABh, 5, 49h, 0CCh
                db      4Ch, 0F4h, 0F5h, 78h, 3Bh, 6Eh
                db      2Fh, 83h, 12h, 0DDh, 33h, 0D8h
                db      41h, 31h, 0, 0D8h, 0E7h, 0D8h
                db      11h, 14h, 26h, 0ADh, 0DAh, 0E2h
                db      39h, 8Fh, 35h, 0F1h, 0BFh, 33h
                db      0CCh, 7Bh, 0F5h, 0F7h, 4Fh, 0F3h
                db      0EDh, 22h, 0CCh, 0A0h, 0D6h, 3Eh
                db      0C0h, 0D2h, 11h, 55h, 4, 1Fh
                db      0Ah, 83h, 1Dh, 82h, 21h, 6Ah
                db      45h, 0F0h, 0F5h, 3Bh, 15h, 9Ah
                db      79h, 6Bh, 0FDh, 72h, 34h, 2Ah
                db      0F1h, 3Fh, 89h, 0, 13h, 5Fh
                db      0E1h, 62h, 7Ah, 3Ch, 9Eh, 53h
                db      0Fh, 88h, 98h, 23h, 0B9h, 5Eh
                db      0CCh, 0DCh, 3Ch, 3Fh, 0Bh, 80h
                db      0A3h, 3, 31h, 3Eh, 0D4h, 0D7h
                db      0F4h, 3Bh, 3Dh, 0B0h, 0ABh, 1Fh
                db      21h, 34h, 17h, 28h, 0D5h, 1Fh
                db      0F9h, 0FEh, 18h, 0D7h, 19h, 1Bh
                db      90h, 95h, 5, 23h, 6Ah, 0FDh
                db      71h, 0F0h, 0F5h, 0AAh, 31h, 0FFh
                db      7Ch, 32h, 0D2h, 0F6h, 7Ch, 7Fh
                db      0ECh, 0EFh, 21h, 83h, 6Dh, 0EDh
                db      15h, 98h, 5Bh, 0EFh, 0D1h, 2Dh
                db      0A2h, 51h, 0FFh, 9Ah, 69h, 0EBh
                db      0EDh, 3Fh, 1Ch, 95h, 0Bh, 3Fh
                db      0FEh, 7Dh, 12h, 2Eh, 0F6h, 3Bh
                db      25h, 0A8h, 33h, 6Eh, 2Eh, 0F4h
                db      0D5h, 10h, 93h, 35h, 0DAh, 0DFh
                db      35h, 0C7h, 0D4h, 5Eh, 0ABh, 3Dh
                db      6Ch, 2Ch, 0FDh, 0F3h, 39h, 0D1h
                db      14h, 0B5h, 1Bh, 7Ch, 0FDh, 3Fh
                db      0B9h, 53h, 0F4h, 0F2h, 6Ch, 2Ch
                db      0FDh, 93h, 59h, 20h, 0CAh, 6Bh
                db      9Dh, 26h, 9Fh, 93h, 1Eh, 0E1h
                db      79h, 5Fh, 17h, 94h, 2Bh, 0D6h
                db      0F5h, 4, 51h, 78h, 0BBh, 11h
                db      0D6h, 34h, 0BAh, 5Dh, 7Eh, 0BDh
                db      1, 6Eh, 4, 65h, 0D6h, 0ECh
                db      1Ah, 0A7h, 0D4h, 65h, 0DDh, 0D3h
                db      3Dh, 61h, 0D5h, 38h, 0, 23h
                db      66h, 85h, 19h, 0A1h, 7Eh, 0Dh
                db      31h, 5Eh, 0E5h, 0CAh, 0F5h, 76h
                db      33h, 0A4h, 0EDh, 23h, 0D1h, 0AEh
                db      0D3h, 18h, 16h, 99h, 0CBh, 0EDh
                db      0B8h, 4Ch, 4Fh, 0FEh, 86h, 12h
                db      0E9h, 0E9h, 0EDh, 0A3h, 0Ah, 15h
                db      39h, 1Ah, 66h, 0DCh, 0C0h, 1Fh
                db      0F1h, 3Bh, 96h, 0E5h, 0F1h, 57h
                db      0EDh, 91h, 6Ch, 0D7h, 0D5h, 69h
                db      0DDh, 0DFh, 10h, 0F2h, 0A7h, 0D8h
                db      61h, 93h, 54h, 0ECh, 0EDh, 3Fh
                db      21h, 0A8h, 23h, 72h, 3Fh, 6Ch
                db      0FDh, 3Eh, 0D4h, 7Ch, 0A3h, 9
                db      66h, 0A1h, 15h, 12h, 74h, 77h
                db      6Ah, 12h, 54h, 80h, 9Dh, 2Bh
                db      94h, 0C0h, 58h, 0B2h, 59h, 0D1h
                db      20h, 0D2h, 4Dh, 0F6h, 0B6h, 78h
                db      0B3h, 9, 76h, 25h, 74h, 35h
                db      54h, 0F3h, 20h, 0CEh, 0F3h, 58h
                db      83h, 2Bh, 5Bh, 8Dh, 23h, 6Bh
                db      0C7h, 1Eh, 0F4h, 0C8h, 8Ch, 0E0h
                db      2Dh, 0DCh, 36h, 0C0h, 27h, 0C4h
                db      3, 78h, 18h, 40h, 0FDh, 0F2h
                db      0A2h, 1Fh, 5Bh, 0F3h, 2Eh, 64h
                db      0A3h, 0E3h, 94h, 0E6h, 29h, 92h
                db      9Ch, 0DEh, 55h, 81h, 0C4h, 0DEh
                db      0C4h, 0DAh, 3Ch, 26h, 64h, 0BDh
                db      5, 76h, 14h, 0F4h, 0FDh, 0AEh
                db      0BCh, 0C0h, 35h, 0Eh, 26h, 23h
                db      0B4h, 2Ch, 0B5h, 83h, 16h, 3Fh
                db      0Ch, 2Ch, 58h, 0Fh, 0A8h, 2Ah
                db      0DEh, 7, 5Eh, 12h
loc_1:
                cmp     al,0Fh
                mov     bp,7E24h
                aas                             ; Ascii adjust
                lodsw                           ; String [si] to ax
                mov     bl,2Ah                  ; '*'
                cld                             ; Clear direction
                mov     bx,7E1Fh
                pop     es
                push    es
                push    di
                db      2Eh, 55h, 0EDh, 93h, 7Dh, 49h
                db      6Ah, 18h, 5Fh, 0BCh, 0DBh, 75h
                db      0AEh, 0D1h, 73h, 0E6h, 1Eh, 2Ch
                db      0BEh, 78h, 29h, 0A7h, 0A3h
                db      78h

locloop_2:
                mov     bh,ch
                add     dh,ds:data_2e[si]       ; (7415:7EF7=0)
                adc     word ptr [bx],41h
                esc     7,cl                    ; coprocessor escape
                pop     cx
                xchg    ax,dx
                rcr     cl,1                    ; Rotate thru carry
                rcl     byte ptr [di-68h],cl    ; Rotate thru carry
                esc     2,ds:data_3e[di]        ; (7415:8C8D=0) coprocessor escape
                sbb     al,ds:data_1e[bx+si]    ; (7415:3366=0)
loc_3:
                mov     bp,7EA5h
                adc     word ptr [bx+di],0CD5Fh
                sti                             ; Enable interrupts
                ja      loc_1                   ; Jump if above
                db      0F2h, 0D3h, 0Bh, 7Bh, 0AAh, 0E8h
                db      0B3h
                db      4Bh, 4Dh
loc_5:
                esc     3,[bp+si+4E0Eh]         ; coprocessor escape
                movsb                           ; Mov [si] to es:[di]
                push    ds
                adc     [bp+0Bh],al
                popf                            ; Pop flags
                push    si
                add     al,dl
                db      6Fh, 0F3h, 0Fh, 54h, 0F9h, 0F3h
                db      76h, 0B9h, 11h, 0DEh, 90h, 0F7h
                db      56h, 0F7h, 0EDh
loc_6:
                loopz   locloop_2               ; Loop if zf=1, cx>0

;*              jo      loc_4                   ;*Jump if overflow=1
                db      70h, 0D3h
                xlat [bx]                       ; al=[al+[bx]] table
                jbe     loc_5                   ; Jump if below or =
                esc     5,[si]                  ; coprocessor escape
                test    cx,sp
                dec     ax
                adc     al,49h                  ; 'I'
                int     0BDh
                push    di
                in      ax,dx                   ; port 0, DMA-1 bas&add ch 0
                rep     movsw                   ; Rep when cx >0 Mov [si] to es:[di]
                call    $-4A7Fh
                sbb     ax,5E05h
                push    bp
                jl      loc_3                   ; Jump if <
                das                             ; Decimal adjust
                dec     si
;*              jmp     short loc_7             ;*(04BD)
                db      0EBh, 0EDh
                db      18h, 0D3h, 49h, 36h, 95h, 9Dh
                db      14h, 0DBh, 71h, 36h, 99h, 95h
                db      68h, 0B5h, 0F0h, 70h, 30h, 4Ah
                db      0DCh, 0F4h, 4Bh, 66h, 0E5h, 44h
                db      82h, 0F0h, 0Fh, 9, 0B5h, 0A6h
                db      7Fh, 0DCh, 0D6h, 0E4h, 0DAh, 0E6h
                db      2, 0EEh, 6, 0F6h, 0Bh, 0FEh
                db      0Eh, 0FEh
                db      9
loc_8:
                jge     loc_6                   ; Jump if > or =
                stosb                           ; Store al to es:[di]
                mov     al,0B3h
                mov     ch,0Dh
                mov     ax,1D6Dh
                sbb     dh,al
                cmc                             ; Complement carry
                hlt                             ; Halt processor
                div     al                      ; al, ah rem = ax/reg
                jmp     short loc_8             ; (04FD)
                db      0E4h, 12h, 1Fh, 16h, 1Eh, 12h
                db      11h, 1Eh, 10h, 11h, 1Bh, 15h
                db      5, 11h, 0FFh, 0EDh, 0F9h, 0F1h
                db      0E3h, 0F5h, 0EDh, 0F1h, 0E7h, 0FEh
                db      0E1h, 0F2h, 0E8h, 0F6h, 0EBh, 0F2h
                db      0F2h, 0EEh, 0CDh, 0D2h, 0F4h, 0D6h
                db      0F7h, 0D2h, 0FEh, 0DEh, 0F9h, 58h
                db      9Bh, 3Fh, 5Eh, 95h, 7, 64h
                db      13h, 72h, 1Ah, 41h, 0F6h, 1Bh
                db      0DCh, 0FFh, 49h, 0B3h, 4Ch, 1Bh
                db      0F1h, 78h, 3Bh, 6Eh, 7, 4Eh
                db      96h, 5Ah, 0B4h, 0Fh, 0CDh, 14h
                db      0D3h, 7Bh, 1Eh, 0D1h, 7Fh, 18h
                db      13h, 6Eh, 2, 45h, 0F6h, 1Fh
                db      0F6h, 0F3h, 0A5h, 62h, 3Eh, 0C2h
                db      0F0h, 0C6h, 0F8h, 0B3h, 0AAh, 0Dh
                db      15h, 10h, 61h, 0D7h, 18h, 3Ah
                db      0DCh, 0DFh, 0F7h, 0FDh, 96h, 98h
                db      98h, 0D3h, 0BDh, 0AEh, 0B9h, 0BBh
                db      0C8h, 0B6h, 0B2h, 0B2h, 0AFh, 0D1h
                db      0BEh, 0BCh, 0B8h, 0F7h, 0F5h, 0BEh
                db      0EDh, 0EFh, 0EDh, 13h, 14h, 16h
                db      14h, 12h, 1Ch, 1Eh, 1Ch, 12h
                db      14h, 16h, 14h, 12h, 0ECh, 0EFh
                db      0EDh, 0F3h, 0F5h, 0F7h, 0F5h, 0F3h
                db      0FDh, 0FFh, 0FDh, 0F3h, 0F5h, 0F7h
                db      0F5h, 0F3h, 0EDh, 0EFh, 0EDh, 0D3h
                db      0D5h, 0D7h, 0D5h, 0D3h, 0DDh, 0DFh
                db      0DDh, 0D3h, 0D5h, 0D7h, 0D5h, 0D3h
                db      0EDh, 0EFh, 0EDh, 0F3h, 0F5h, 0F4h
                db      0CAh, 0CCh, 0C2h, 0C0h, 0C2h, 0CCh
                db      0CAh, 0C8h, 0B6h, 0BCh, 0A0h, 0ECh
                db      0E3h, 93h, 95h, 97h, 29h, 5Fh
                db      0B6h, 9Fh, 0BDh, 58h, 0Fh, 0Dh
                db      81h, 97h, 0EDh, 0EFh, 0EDh, 0B2h
                db      0B2h, 0B6h, 0A7h, 0DDh, 0BEh, 0B0h
                db      0B0h, 0F3h, 0F5h, 0BAh, 0F5h, 0F3h
                db      0EDh, 0EFh, 0EDh

twelve          endp

seg_a           ends



                end     start