
PAGE  59,132

;圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹
;圹					                                 圹
;圹				XPATCH	                                 圹
;圹					                                 圹
;圹      Created:   1-Jan-100		                                 圹
;圹      Passes:    5          Analysis	Options on: none                 圹
;圹					                                 圹
;圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹

target		EQU   'M6'                      ; Target assembler: MASM-6.11

include  srmacros.inc


; The following equates show data references outside the range of the program.

data_1e		equ	72h			;*
PSP_cmd_size	equ	80h
PSP_cmd_tail+1	equ	82h
data_28e	equ	0
data_29e	equ	2
data_30e	equ	1CBh

;------------------------------------------------------------  seg_a   ----

seg_a		segment	byte public
		assume cs:seg_a  , ds:seg_a , ss:stack_seg_c


;圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹
;
;                       Program	Entry Point
;
;圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹


XPATCH		proc	far

start::
		mov	ax,ds
		mov	es,ax
		mov	ax,seg_b
		mov	ds,ax
		mov	ah,es:PSP_cmd_size
		mov	al,es:PSP_cmd_tail+1
		cmp	ax,23Fh
		je	loc_1			; Jump if equal
		call	sub_2
		jz	loc_1			; Jump if zero
;*		call	sub_10			;*
		db	0E8h,0E7h, 03h		;  Fixup - byte match
		db	 66h,0B9h,0D5h, 08h, 02h, 00h
		db	0E8h, 47h, 03h, 66h, 49h, 75h
		db	0F9h,0E8h, 42h, 00h,0E8h,0A5h
		db	 01h,0E8h, 25h, 01h,0E8h,0C9h
		db	 01h,0E8h,0ECh, 01h,0E8h, 33h
		db	 00h,0E8h, 27h, 02h,0B7h, 4Fh
		db	0B3h, 4Bh,0E9h, 97h, 03h
loc_1::
		call	sub_1
		mov	ax,4C00h
		int	21h			; DOS Services  ah=function 4Ch
						;  terminate with al=return code
		db	0C3h

XPATCH		endp

;哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌
;                              SUBROUTINE
;苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘

sub_1		proc	near
		call	sub_2
		mov	dx,1FCh
		jnz	loc_2			; Jump if not zero
		mov	dx,offset data_15	; ('updated.')
loc_2::
		mov	ah,9
		int	21h			; DOS Services  ah=function 09h
						;  display char string at ds:dx
		retn
sub_1		endp


;哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌
;                              SUBROUTINE
;苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘

sub_2		proc	near
		push	ax
		push	es
		mov	ax,0C000h
		mov	es,ax
		mov	al,es:data_30e
		cmp	al,1Fh
		pop	es
		pop	ax
		retn
sub_2		endp

			                        ;* No entry point to code
		mov	ax,5380h
		mov	bx,8001h
		int	15h			; General services, ah=func 53h
						;  Advanced power management
;*		pop	cs			; Dangerous-8088 only
		db	0Fh			;  Fixup - byte match
;*		xor	byte ptr [di],3
		db	 82h, 35h, 03h		;  Fixup - byte match
		mov	al,8Eh
		out	70h,al			; port 70h, CMOS addr,bit7=NMI
						;  al = 8Eh, test results reg
		jmp	short $+2		; delay for I/O
		in	al,71h			; port 71h, CMOS data
		cli				; Disable interrupts
		mov	dx,0FC23h
		in	al,dx			; port 0FC23h ??I/O Non-standard
		mov	dx,0F023h
		in	al,dx			; port 0F023h ??I/O Non-standard
		mov	dx,0C023h
		in	al,dx			; port 0C023h ??I/O Non-standard
		mov	dx,23h
		in	al,dx			; port 23h ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,0FEh
		out	24h,al			; port 24h ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		in	al,25h			; port 25h ??I/O Non-standard
		mov	data_2,al
		and	al,0FEh
		mov	ah,al
		jmp	short $+2		; delay for I/O
		mov	al,0FEh
		out	24h,al			; port 24h ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,ah
		out	25h,al			; port 25h ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,0FAh
		out	24h,al			; port 24h ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,1
		out	25h,al			; port 25h ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		out	0FBh,al			; port 0FBh ??I/O Non-standard
		mov	al,11h
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		in	al,0EDh			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	data_3,al
		mov	al,11h
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,0
		out	0EDh,al			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,12h
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		in	al,0EDh			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	data_4,al
		mov	al,12h
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,0
		out	0EDh,al			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,17h
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		in	al,0EDh			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	data_5,al
		mov	al,17h
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,55h			; 'U'
		out	0EDh,al			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,18h
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		in	al,0EDh			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	data_6,al
		mov	al,18h
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,55h			; 'U'
		out	0EDh,al			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,0Ch
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		in	al,0EDh			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	data_7,al
		and	al,8Fh
		mov	ah,al
		mov	al,0Ch
		out	0ECh,al			; port 0ECh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		mov	al,ah
		out	0EDh,al			; port 0EDh ??I/O Non-standard
		jmp	short $+2		; delay for I/O
		out	0F9h,al			; port 0F9h ??I/O Non-standard
;*		pop	cs			; Dangerous-8088 only
		db	0Fh			;  Fixup - byte match
;*		and	al,al
		db	 20h,0C0h		;  Fixup - byte match
;*		pop	cs			; Dangerous-8088 only
		db	0Fh			;  Fixup - byte match
;*		and	al,al
		db	 20h,0C0h		;  Fixup - byte match
		db	 66h, 0Dh, 00h, 00h, 00h, 60h
		db	 0Fh, 22h,0C0h, 0Fh, 08h, 0Fh
		db	 08h,0C3h,0B0h, 0Eh,0E6h, 70h
		db	0EBh, 00h,0E4h, 71h,0BAh, 23h
		db	0FCh,0ECh,0BAh, 23h,0F0h,0ECh
		db	0BAh, 23h,0C0h,0ECh,0BAh, 23h
		db	 00h,0ECh,0EBh, 00h,0B0h,0FEh
		db	0E6h, 24h,0EBh, 00h,0A0h, 07h
		db	 02h,0E6h, 25h,0EBh, 00h,0B0h
		db	0FAh,0E6h, 24h,0EBh, 00h,0B0h
		db	 01h,0E6h, 25h,0EBh, 00h,0E6h
		db	0FBh,0B0h, 11h,0E6h,0ECh,0EBh
		db	 00h,0A0h, 08h, 02h,0E6h,0EDh
		db	0EBh, 00h,0B0h, 12h,0E6h,0ECh
		db	0EBh, 00h,0A0h, 09h, 02h,0E6h
		db	0EDh,0EBh, 00h,0B0h, 17h,0E6h
		db	0ECh,0EBh, 00h,0A0h, 0Ah, 02h
		db	0E6h,0EDh,0EBh, 00h,0B0h, 18h
		db	0E6h,0ECh,0EBh, 00h,0A0h, 0Bh
		db	 02h,0E6h,0EDh,0EBh, 00h,0B0h
		db	 0Ch,0E6h,0ECh,0EBh, 00h,0A0h
		db	 0Ch, 02h,0E6h,0EDh,0EBh, 00h
		db	0E6h,0F9h, 0Fh, 08h, 0Fh, 08h
		db	0C3h, 8Ch,0DAh,0BBh, 0Dh, 02h
		db	0B9h, 07h, 00h,0FCh,0FFh, 57h
		db	 01h, 51h, 66h, 8Bh, 4Fh, 0Bh
		db	 66h,0C1h,0E9h, 02h,0C4h, 7Fh
		db	 07h,0C5h, 77h, 03h,0F3h, 66h
		db	0A5h, 59h, 83h,0C3h, 0Fh, 8Eh
		db	0DAh,0E2h,0E3h,0E8h,0A2h, 01h
		db	0C3h,0B8h
		dw	0CFBDh
		db	 8Eh,0C0h,0BFh
data_2		db	0
data_3		db	0
data_4		db	0B9h
data_5		db	8
data_6		db	0
data_7		db	0BEh
data_8		db	76h
		db	 02h,0F3h,0A6h, 0Fh, 85h,0A2h
		db	 01h,0B8h
		dw	0BFBDh
		db	 8Eh,0C0h, 26h,0A0h
data_9		db	0E8h
		db	 00h, 3Ah, 06h, 7Eh, 02h, 0Fh
		db	 85h, 96h, 01h,0C3h,0BEh, 0Ch
		db	 00h,0B9h
data_10		db	61h
		db	 00h, 66h, 8Bh, 1Ch, 8Ah, 54h
		db	 04h,0E8h, 06h, 00h, 83h,0C6h
		db	 05h,0E2h
data_11		db	0F2h
		db	0C3h, 60h,0B9h, 07h, 00h,0BEh
		db	 0Dh, 02h, 66h, 33h,0C0h, 66h
		db	 03h
		db	44h
data_12		db	0Bh
		db	 66h, 3Bh,0C3h, 76h, 12h,0C4h
		db	 7Ch, 07h, 66h, 2Bh, 44h, 0Bh
		db	 66h, 2Bh,0D8h, 26h, 88h, 11h
		db	0C6h, 04h, 01h,0EBh, 05h, 83h
		db	0C6h, 0Fh,0E2h,0E0h, 61h,0C3h
		db	0E4h, 98h,0A8h, 03h, 0Fh, 85h
		db	 51h, 01h,0E4h, 98h, 0Ch, 08h
		db	0E6h, 98h,0B9h, 0Ah, 1Ah

locloop_3::
		call	sub_6
		loop	locloop_3		; Loop if cx > 0

		mov	al,data_8
		or	al,data_9
		jz	loc_4			; Jump if zero
		mov	si,20Dh
		call	sub_3
		call	sub_4
		mov	si,offset data_9
		call	sub_4
loc_4::
		mov	al,data_10
		or	al,data_11
		jz	loc_5			; Jump if zero
		mov	si,22Bh
		call	sub_3
		call	sub_4
		mov	si,offset data_11
		call	sub_4
loc_5::
		mov	si,offset data_12
		mov	cx,3

locloop_6::
		cmp	byte ptr [si],0
		je	loc_7			; Jump if equal
		call	sub_3
		call	sub_4
loc_7::
		add	si,0Fh
		loop	locloop_6		; Loop if cx > 0

		retn

;哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌
;                              SUBROUTINE
;苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘

sub_3		proc	near
		push	es
		push	di
		db	 66h, 50h, 66h, 51h,0FFh, 54h
		db	 01h,0C4h, 7Ch, 03h,0B0h, 20h
		db	 26h, 88h, 05h,0B0h,0D0h, 26h
		db	 88h, 05h, 66h,0B9h, 55h, 58h
		db	 14h, 00h,0E8h, 6Ch, 00h, 0Fh
		db	 82h,0DEh, 00h,0A8h, 40h, 0Fh
		db	 85h,0DDh, 00h,0FCh, 66h, 8Bh
		db	 4Ch, 0Bh, 66h,0C1h,0E9h, 02h
		db	 66h, 33h,0C0h, 66h, 48h,0F3h
		db	 66h,0AFh, 0Fh, 85h,0CDh, 00h
		db	 66h, 59h, 66h, 58h, 5Fh, 07h
		db	0C3h

;哌哌 External Entry into Subroutine 哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌

sub_4::
		push	es
		push	di
		push	ds
		push	di
		push	cx
		call	word ptr [si+1]		;*
		mov	cx,[si+0Bh]
		les	di,dword ptr [si+3]	; Load seg:offset ptr
		lds	si,dword ptr [si+7]	; Load seg:offset ptr

locloop_8::
		call	sub_5
		inc	di
		inc	si
		loop	locloop_8		; Loop if cx > 0

		pop	cx
		pop	di
		pop	ds
		pop	di
		pop	es
		retn
sub_3		endp


;哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌
;                              SUBROUTINE
;苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘

sub_5		proc	near
		push	bx
		push	cx
		mov	cx,0Ah
		mov	byte ptr es:[di],40h	; '@'
		mov	bl,[si]
		mov	es:[di],bl
		db	 66h,0B9h,0D5h, 08h, 02h, 00h
		db	0E8h, 11h, 00h, 0Fh, 82h, 92h
		db	 00h, 26h, 3Ah, 1Dh, 74h, 05h
		db	0E2h,0E3h,0E9h, 8Dh, 00h, 59h
		db	 5Bh,0C3h, 66h, 51h, 26h, 8Ah
		db	 05h,0A8h, 80h, 74h, 07h,0A8h
		db	 38h, 75h, 0Ah,0F8h,0EBh
		db	8
loc_9::
		call	sub_6
		db	 66h, 49h, 75h,0EBh,0F9h, 26h
		db	0C6h, 05h,0FFh, 66h, 59h,0C3h

;哌哌 External Entry into Subroutine 哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌

sub_6::
		push	ax
		push	cx
		mov	cx,2
		in	al,61h			; port 61h, 8255 port B, read
		and	al,10h
		mov	ah,al

locloop_10::
		in	al,61h			; port 61h, 8255 port B, read
		and	al,10h
;*		cmp	al,ah
		db	 3Ah,0C4h		;  Fixup - byte match
		jz	locloop_10		; Jump if zero
		mov	ah,al
		loop	locloop_10		; Loop if cx > 0

		pop	cx
		pop	ax
		retn
sub_5		endp

loc_11::
		mov	ax,400h
		mov	es,ax
		mov	word ptr es:data_1e,0
		in	al,92h			; port 92h ??I/O Non-standard
		and	al,0FEh
		out	92h,al			; port 92h ??I/O Non-standard
		or	al,3
		out	92h,al			; port 92h ??I/O Non-standard
		hlt				; Halt processor
		jmp	short loc_11

;哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌
;                              SUBROUTINE
;苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘

sub_7		proc	near
		cli				; Disable interrupts
		in	al,98h			; port 98h ??I/O Non-standard
		and	al,0FBh
		out	98h,al			; port 98h ??I/O Non-standard
		retn
sub_7		endp


;哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌
;                              SUBROUTINE
;苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘

sub_8		proc	near
		cli				; Disable interrupts
		in	al,98h			; port 98h ??I/O Non-standard
		or	al,4
		out	98h,al			; port 98h ??I/O Non-standard
		retn
sub_8		endp

			                        ;* No entry point to code
		mov	bx,2031h
		jmp	short loc_12
			                        ;* No entry point to code
		mov	bx,2032h
		jmp	short loc_12
			                        ;* No entry point to code
		mov	bx,2033h
		jmp	short loc_12
			                        ;* No entry point to code
		mov	bx,2034h
		jmp	short loc_12
			                        ;* No entry point to code
		mov	bx,2035h
		jmp	short loc_12
			                        ;* No entry point to code
		mov	bx,2036h
		jmp	short loc_12
			                        ;* No entry point to code
		mov	bx,2037h
		jmp	short loc_12
			                        ;* No entry point to code
		mov	bx,2038h
		jmp	short loc_12
		db	0BBh, 39h, 20h,0EBh, 00h
loc_12::
		mov	dx,0B800h
		mov	ds,dx
		mov	ah,7
		mov	al,bh
		mov	ds:data_28e,ax
		mov	al,bl
		mov	ds:data_29e,ax
loc_13::
		call	sub_9
		mov	cx,8235h

locloop_14::
		call	sub_6
		loop	locloop_14		; Loop if cx > 0

		xor	al,80h
		jmp	short loc_13

;哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌
;                              SUBROUTINE
;苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘

sub_9		proc	near
		push	dx
sub_9		endp


seg_a		ends



;------------------------------------------------------------  seg_b   ----

seg_b		segment	byte public
		assume cs:seg_b  , ds:seg_b , ss:stack_seg_c

		db	0BAh,0BCh, 03h
data_13		db	0EEh
		db	 5Ah,0C3h,0B8h, 00h, 00h,0CDh
		db	 10h,0C3h,0CBh, 01h, 02h, 00h
		db	 1Fh,0A7h, 8Ch, 02h, 00h,0C9h
		db	0E4h, 8Ch, 02h, 00h, 39h,0E5h
		db	 8Ch, 02h, 00h, 36h,0E6h, 8Ch
		db	 02h, 00h, 2Fh,0E7h, 8Ch, 02h
		db	 00h, 30h,0E8h, 8Ch, 02h, 00h
		db	 32h,0E9h, 8Ch, 02h, 00h, 2Fh
		db	0EAh, 8Ch, 02h, 00h, 32h,0EBh
		db	 8Ch, 02h, 00h, 37h,0ECh, 8Ch
		db	 02h, 00h, 76h,0EDh, 8Ch, 02h
		db	 00h, 69h,0EEh, 8Ch, 02h, 00h
		db	 64h,0EFh, 8Ch, 02h, 00h, 65h
		db	0F0h, 8Ch, 02h, 00h, 6Fh,0F1h
		db	 8Ch, 02h, 00h, 31h,0F2h, 8Ch
		db	 02h, 00h, 36h,0F3h, 8Ch, 02h
		db	 00h, 6Bh,0F4h, 8Ch, 02h, 00h
		db	 6Fh,0F5h, 8Ch, 02h, 00h, 79h
		db	0F6h, 8Ch, 02h, 00h, 61h,0F7h
		db	 8Ch, 02h, 00h, 6Eh,0F8h, 8Ch
		db	 02h, 00h, 61h,0F9h, 8Ch, 02h
		db	 00h, 67h,0FAh, 8Ch, 02h, 00h
		db	 38h,0FBh, 8Ch, 02h, 00h, 31h
		db	0FCh, 8Ch, 02h, 00h, 32h,0FDh
		db	 8Ch, 02h, 00h, 37h,0FEh, 8Ch
		db	 02h, 00h, 36h,0FFh, 8Ch, 02h
		db	 00h, 35h, 00h, 8Dh, 02h, 00h
		db	 38h, 01h, 8Dh, 02h, 00h, 48h
		db	 02h, 8Dh, 02h, 00h, 47h, 03h
		db	 8Dh, 02h, 00h, 46h, 04h, 8Dh
		db	 02h, 00h, 53h, 05h, 8Dh, 02h
		db	 00h
data_14		db	44h			; Data table (indexed access)
		db	 06h, 8Dh, 02h, 00h, 48h, 07h
		db	 8Dh, 02h, 00h, 5Fh, 08h, 8Dh
		db	 02h, 00h, 3Ah, 09h, 8Dh, 02h
		db	 00h, 43h, 0Ah, 8Dh, 02h, 00h
		db	 3Ah, 0Bh, 8Dh, 02h, 00h, 5Ch
		db	 0Ch, 8Dh, 02h, 00h, 57h, 0Dh
		db	 8Dh, 02h, 00h, 45h, 0Eh, 8Dh
		db	 02h, 00h, 41h, 0Fh, 8Dh, 02h
		db	 00h, 58h, 10h, 8Dh, 02h, 00h
		db	 50h,0B0h, 8Ch, 02h, 00h, 1Fh
		db	0B1h, 8Ch, 02h, 00h,0BAh,0B2h
		db	 8Ch, 02h, 00h, 1Fh,0B3h, 8Ch
		db	 02h, 00h,0E8h,0B4h, 8Ch, 02h
		db	 00h, 46h,0B5h, 8Ch, 02h, 00h
		db	0B0h,0B6h, 8Ch, 02h, 00h, 0Eh
		db	0B7h, 8Ch, 02h, 00h,0EEh,0B8h
		db	 8Ch, 02h, 00h,0C6h,0B9h, 8Ch
		db	 02h, 00h, 46h,0BAh, 8Ch, 02h
		db	 00h, 10h,0BBh, 8Ch, 02h, 00h
		db	 12h,0BCh, 8Ch, 02h, 00h,0C3h
		db	0BDh, 8Ch, 02h, 00h, 3Ch,0BEh
		db	 8Ch, 02h, 00h, 01h,0BFh, 8Ch
		db	 02h, 00h, 77h,0C0h, 8Ch, 02h
		db	 00h, 17h,0C1h, 8Ch, 02h, 00h
		db	0B1h,0C2h, 8Ch, 02h, 00h, 05h
		db	0C3h, 8Ch, 02h, 00h,0D2h,0C4h
		db	 8Ch, 02h, 00h,0E0h,0C5h, 8Ch
		db	 02h, 00h, 8Ah,0C6h, 8Ch, 02h
		db	 00h,0D8h,0C7h, 8Ch, 02h, 00h
		db	0BAh,0C8h, 8Ch, 02h, 00h,0C4h
		db	0C9h, 8Ch, 02h, 00h, 03h,0CAh
		db	 8Ch, 02h, 00h,0B0h,0CBh, 8Ch
		db	 02h, 00h, 01h,0CCh, 8Ch, 02h
		db	 00h,0E8h,0CDh, 8Ch, 02h, 00h
		db	 41h,0CEh, 8Ch, 02h, 00h, 07h
		db	0CFh, 8Ch, 02h, 00h, 80h,0D0h
		db	 8Ch, 02h, 00h,0E4h,0D1h, 8Ch
		db	 02h, 00h,0DFh,0D2h, 8Ch, 02h
		db	 00h, 0Ah,0D3h, 8Ch, 02h, 00h
		db	0E3h,0D4h, 8Ch, 02h, 00h,0B0h
		db	0D5h, 8Ch, 02h, 00h, 01h,0D6h
		db	 8Ch, 02h, 00h,0EFh,0D7h, 8Ch
		db	 02h, 00h,0C3h,0D8h, 8Ch, 02h
		db	 00h,0C6h,0D9h, 8Ch, 02h, 00h
		db	 46h,0DAh, 8Ch, 02h, 00h, 10h
		db	0DBh, 8Ch, 02h, 00h, 00h,0DCh
		db	 8Ch, 02h, 00h,0C3h,0DDh, 8Ch
		db	 02h, 00h, 1Eh,0DEh, 8Ch, 02h
		db	 00h, 55h,0DFh, 8Ch, 02h, 00h
		db	 52h,0E0h, 8Ch, 02h, 00h, 51h
		db	0E1h, 8Ch, 02h, 00h
		db	53h
data_15		db	'updated.', 0Dh, 0Ah, '$'
		db	'not yet.', 0Dh, 0Ah, '$'
data_16		db	0
data_17		db	0
data_18		db	0
data_19		db	0
data_20		db	0
data_21		db	0
data_22		db	0
data_23		dw	offset sub_8
		db	 00h, 00h, 00h,0E0h, 00h, 00h
		dw	9FBDh
		db	0, 0, 1, 0
data_24		db	0
		db	0AAh, 03h, 00h, 00h, 00h,0F0h
		db	 00h, 00h
		dw	0AFBDh
		db	0, 0, 1, 0
data_25		db	0
		db	0A2h, 03h, 00h, 00h, 00h,0E0h
		db	 00h, 00h
		dw	0BFBDh
		db	0, 0, 1, 0
data_26		db	0
		db	0A2h, 03h, 00h, 00h, 00h,0F0h
		db	 00h, 00h
		dw	0CFBDh
		db	 00h, 80h, 00h, 00h, 00h,0A2h
		db	 03h, 00h, 80h, 00h,0F0h, 00h
		db	 80h
		dw	0CFBDh
		db	 00h, 20h, 00h, 00h, 00h,0A2h
		db	 03h, 00h,0A0h, 00h,0F0h, 00h
		db	0A0h
		dw	0CFBDh
		db	 00h, 20h, 00h, 00h, 00h,0A2h
		db	 03h, 00h,0C0h, 00h,0F0h, 00h
		db	0C0h
		dw	0CFBDh
		db	 00h, 40h, 00h, 00h
		db	'39H4551 '
		db	 15h, 00h

seg_b		ends



;------------------------------------------------------  stack_seg_c   ----

stack_seg_c	segment	word stack 'STACK'

		db	1024 dup (0)

stack_seg_c	ends



		end	start
