	.386p
	ifndef	??version
?debug	macro
	endm
publicdll macro	name
	public	name
	endm
	endif
	?debug	V 300h
	?debug	S "..\..\TEMP\SWITCH.C"
	?debug	C E95B5D6931132E2E5C2E2E5C54454D505C5357495443482E43
	?debug	C E9C19D6F301F443A5C4445565C424F524C414E44435C494E434C55+
	?debug	C 44455C535444494F2E48
	?debug	C E9B99D6F301F443A5C4445565C424F524C414E44435C494E434C55+
	?debug	C 44455C5F444546532E48
	?debug	C E9B99D6F3020443A5C4445565C424F524C414E44435C494E434C55+
	?debug	C 44455C5F4E46494C452E48
	?debug	C E9B99D6F301F443A5C4445565C424F524C414E44435C494E434C55+
	?debug	C 44455C5F4E554C4C2E48
SWITCH_TEXT	segment byte public use16 'CODE'
SWITCH_TEXT	ends
	assume	cs:SWITCH_TEXT,ds:SWITCH_DATA
SWITCH_DATA	segment word public use16 'FAR_DATA'
d@	label	byte
d@w	label	word
b@	label	byte
b@w	label	word
SWITCH_DATA	ends
SWITCH_TEXT	segment byte public use16 'CODE'
	?debug	C E801132E2E5C2E2E5C54454D505C535749544348+
	?debug	C 2E435B5D6931
   ;	
   ;	void swit(int i)
   ;	
	?debug	L 3
	assume	cs:SWITCH_TEXT
_swit	proc	far
	?debug	B
	enter	2,0
	push	si
	push	ds
	mov	ax,SWITCH_DATA
	mov	ds,ax
	?debug	C E60169040A060000
	mov	si,word ptr [bp+6]
	?debug	B
   ;	
   ;	{
   ;		switch (i)
   ;	
	?debug	L 5
	mov	word ptr [bp-2],si
	mov	cx,8
	mov	bx,offset @1@C370
@1@58:
	mov	ax,word ptr cs:[bx]
	cmp	ax,word ptr [bp-2]
	je	short @1@142
	add	bx,2
	loop	short @1@58
	jmp	short @1@422
@1@142:
	jmp	word ptr cs:[bx+16]
@1@170:
   ;	
   ;		{
   ;		case 12:
   ;			printf("i=%d\n", i);
   ;	
	?debug	L 8
	push	si
	push	ds
	push	offset s@
@1@198:
	call	far ptr _printf
	add	sp,6
   ;	
   ;			break;
   ;	
	?debug	L 9
	jmp	short @1@450
@1@226:
   ;	
   ;		case 56:
   ;			printf("i=%d\n", i);
   ;	
	?debug	L 11
	push	si
	push	ds
	push	offset s@+6
	jmp	short @1@198
@1@254:
   ;	
   ;			break;
   ;		case 21:
   ;			printf("i=%d\n", i);
   ;	
	?debug	L 14
	push	si
	push	ds
	push	offset s@+12
	jmp	short @1@198
@1@282:
   ;	
   ;			break;
   ;		case 36:
   ;			printf("i=%d\n", i);
   ;	
	?debug	L 17
	push	si
	push	ds
	push	offset s@+18
	jmp	short @1@198
@1@310:
   ;	
   ;			break;
   ;		case 20:
   ;			printf("i=%d\n", i);
   ;	
	?debug	L 20
	push	si
	push	ds
	push	offset s@+24
	jmp	short @1@198
@1@338:
   ;	
   ;			break;
   ;		case 10:
   ;			printf("i=%d\n", i);
   ;	
	?debug	L 23
	push	si
	push	ds
	push	offset s@+30
	jmp	short @1@198
@1@366:
   ;	
   ;			break;
   ;		case 77:
   ;			printf("i=%d\n", i);
   ;	
	?debug	L 26
	push	si
	push	ds
	push	offset s@+36
	jmp	short @1@198
@1@394:
   ;	
   ;			break;
   ;		case 19:
   ;			printf("i=%d\n", i);
   ;	
	?debug	L 29
	push	si
	push	ds
	push	offset s@+42
	jmp	short @1@198
@1@422:
   ;	
   ;			break;
   ;		default:
   ;			printf("i=%d ~~\n", i);
   ;	
	?debug	L 32
	push	si
	push	ds
	push	offset s@+48
	jmp	short @1@198
@1@450:
   ;	
   ;			break;
   ;		}
   ;	}
   ;	
	?debug	L 35
	pop	ds
	pop	si
	leave	
	ret	
	?debug	C E60169040C0600
	?debug	E
	?debug	E
_swit	endp
@1@C370	label	word
	db	10
	db	0
	db	12
	db	0
	db	19
	db	0
	db	20
	db	0
	db	21
	db	0
	db	36
	db	0
	db	56
	db	0
	db	77
	db	0
	dw	@1@338
	dw	@1@170
	dw	@1@394
	dw	@1@310
	dw	@1@254
	dw	@1@282
	dw	@1@226
	dw	@1@366
   ;	
   ;	int main(void)
   ;	
	?debug	L 37
	assume	cs:SWITCH_TEXT
_main	proc	far
	?debug	B
	push	bp
	mov	bp,sp
	push	ds
	mov	ax,SWITCH_DATA
	mov	ds,ax
	?debug	B
   ;	
   ;	{
   ;		swit(5);
   ;	
	?debug	L 39
	push	5
	push	cs
	call	near ptr _swit
	pop	cx
   ;	
   ;		return 0;
   ;	
	?debug	L 40
	xor	ax,ax
	jmp	short @2@58
@2@58:
   ;	
   ;	}
   ;	
	?debug	L 41
	pop	ds
	pop	bp
	ret	
	?debug	E
	?debug	E
_main	endp
	?debug	C E9
	?debug	C FA00000000
SWITCH_TEXT	ends
SWITCH_DATA	segment word public use16 'FAR_DATA'
s@	label	byte
	db	'i=%d'
	db	10
	db	0
	db	'i=%d'
	db	10
	db	0
	db	'i=%d'
	db	10
	db	0
	db	'i=%d'
	db	10
	db	0
	db	'i=%d'
	db	10
	db	0
	db	'i=%d'
	db	10
	db	0
	db	'i=%d'
	db	10
	db	0
	db	'i=%d'
	db	10
	db	0
	db	'i=%d ~~'
	db	10
	db	0
SWITCH_DATA	ends
SWITCH_TEXT	segment byte public use16 'CODE'
SWITCH_TEXT	ends
	public	_main
	public	_swit
	extrn	_printf:far
_s@	equ	s@
	?debug	C EA010D
	?debug	C E31800000023040400
	?debug	C EC055F6D61696E181800
	?debug	C E31900000023010400
	?debug	C EC055F73776974191800
	?debug	C E31A00000023040401
	?debug	C EB075F7072696E74661A00
	?debug	C E60666706F735F740606000673697A655F740A06+
	?debug	C 00
	end
