	.file "kontr2_3.pas"
	.stabs "d:/pas/",100,0,0,.Ltext0
	.stabs "kontr2_3.pas",100,0,0,.Ltext0
.Ltext0:
	.stabd	72,0,1

.section .text
# [kontr2_3.pas]
fpc_compiled:
gcc2_compiled:
	.stabd	68,0,15
# [15] Begin
.globl	DEBUGINFO_P$KONTRL2_3
DEBUGINFO_P$KONTRL2_3:
# Begin unit SYSTEM has index 1
	.stabs "CHAR:t2=-20;",128,0,0,0
	.stabs "BYTE:t7=r7;0;255;",128,0,0,0
	.stabs "SHORTSTRING:Tt1=s256length:7,0,8;st:ar7;1;255;2,8,2040;;",128,0,0,0
	.stabs "BOOLEAN:t4=-21;",128,0,0,0
	.stabs "SMALLINT:t3=r3;-32768;32767;",128,0,0,0
	.stabs "void:t6=6",128,0,0,0
# End unit SYSTEM has index 1
# Begin unit KONTRL2_3 has index 0
# End unit KONTRL2_3 has index 0

.section .text

.section .text
	.balign 4
	.balign 4
	.stabs "main:F6",36,0,10,_main
.globl	PASCALMAIN
PASCALMAIN:
.globl	_main
_main:
# Temps allocated between ebp-260 and ebp+0
	# Register ebp allocated
	pushl	%ebp
	movl	%esp,%ebp
	subl	$260,%esp
# Temp -260,4 allocated
	movl	%ebx,-260(%ebp)
	# Register eax,ecx,edx allocated
	call	FPC_INITIALIZEUNITS
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
.Ll1:
	.stabn 68,0,16,.Ll1 - _main
# [16] writeln('....... ......, .......... "!", .. .. ...... ........');
	call	fpc_get_output
	# Register ecx,edx,eax released
	# Register ebx allocated
	movl	%eax,%ebx
	# Register ecx allocated
	movl	$_$PROGRAM$_L7,%ecx
	# Register edx allocated
	movl	%ebx,%edx
	# Register eax allocated
	movl	$0,%eax
	# Register ecx,edx released
	# Register ecx,edx allocated
	call	fpc_write_text_shortstr
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx released
	# Register eax allocated
	movl	%ebx,%eax
	# Register ecx,edx allocated
	call	fpc_writeln_end
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx,ebx released
	# Register eax,ecx,edx allocated
.Ll2:
	.stabn 68,0,17,.Ll2 - _main
# [17] readln (str1); {.... ......}
	call	fpc_get_input
	# Register ecx,edx,eax released
	# Register ebx allocated
	movl	%eax,%ebx
	# Register ecx allocated
	movl	$255,%ecx
	# Register edx allocated
	movl	$U_P$KONTRL2_3_STR1,%edx
	# Register eax allocated
	movl	%ebx,%eax
	# Register ecx,edx released
	# Register ecx,edx allocated
	call	fpc_read_text_shortstr
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx released
	# Register eax allocated
	movl	%ebx,%eax
	# Register ecx,edx allocated
	call	fpc_readln_end
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx,ebx released
	# Register edx allocated
.Ll3:
	.stabn 68,0,18,.Ll3 - _main
# [18] i:=pos('!',str1); {....... ....... "!"}
	movl	$U_P$KONTRL2_3_STR1,%edx
	# Register al allocated
	movb	$33,%al
	# Register edx,al released
	# Register eax,ecx,edx allocated
	call	SYSTEM_POS$CHAR$SHORTSTRING$$LONGINT
	# Register ecx released
	movl	%eax,%edx
	subl	$-32768,%edx
	# Register edx released
	cmpl	$65535,%edx
	jbe	.L30
	call	FPC_RANGEERROR
.L30:
	# Register eax released
	# Register ax allocated
	# Register ax released
	movw	%ax,U_P$KONTRL2_3_I
	# Register ebx allocated
.Ll4:
	.stabn 68,0,19,.Ll4 - _main
# [19] str:=copy(str1,1,i-1);
	movl	$U_P$KONTRL2_3_STR,%ebx
# Temp -256,256 allocated
	# Register eax allocated
	leal	-256(%ebp),%eax
	# Register eax released
	pushl	%eax
	# Register ecx allocated
	movswl	U_P$KONTRL2_3_I,%ecx
	subl	$1,%ecx
	jno	.L39
	call	FPC_OVERFLOW
.L39:
	# Register edx allocated
	movl	$1,%edx
	# Register eax allocated
	movl	$U_P$KONTRL2_3_STR1,%eax
	# Register ecx,edx released
	# Register ecx,edx allocated
	call	fpc_shortstr_copy
	# Register eax,ecx released
	leal	-256(%ebp),%edx
	# Register eax allocated
	movl	$255,%eax
	# Register ebx released
	# Register ecx allocated
	movl	%ebx,%ecx
	# Register ecx,edx released
	# Register ecx,edx allocated
	call	fpc_shortstr_to_shortstr
	# Register eax,ecx,edx released
# Temp -256,256 released
	# Register edx allocated
.Ll5:
	.stabn 68,0,20,.Ll5 - _main
# [20] i:=pos('..',str); {....... ....... .. ".." ... ".."}
	movl	$U_P$KONTRL2_3_STR,%edx
	# Register eax allocated
	movl	$_$PROGRAM$_L52,%eax
	# Register edx released
	# Register ecx,edx allocated
	call	SYSTEM_POS$SHORTSTRING$SHORTSTRING$$LONGINT
	# Register ecx released
	movl	%eax,%edx
	subl	$-32768,%edx
	# Register edx released
	cmpl	$65535,%edx
	jbe	.L53
	call	FPC_RANGEERROR
.L53:
	# Register eax released
	# Register ax allocated
	# Register ax released
	movw	%ax,U_P$KONTRL2_3_I
	# Register edx allocated
.Ll6:
	.stabn 68,0,21,.Ll6 - _main
# [21] l:=pos('..',str);
	movl	$U_P$KONTRL2_3_STR,%edx
	# Register eax allocated
	movl	$_$PROGRAM$_L60,%eax
	# Register edx released
	# Register ecx,edx allocated
	call	SYSTEM_POS$SHORTSTRING$SHORTSTRING$$LONGINT
	# Register ecx released
	movl	%eax,%edx
	subl	$-32768,%edx
	# Register edx released
	cmpl	$65535,%edx
	jbe	.L61
	call	FPC_RANGEERROR
.L61:
	# Register eax released
	# Register ax allocated
	# Register ax released
	movw	%ax,U_P$KONTRL2_3_L
	# Register eax allocated
.Ll7:
	.stabn 68,0,22,.Ll7 - _main
# [22] if (i<>0) or (l<>0) then
	movswl	U_P$KONTRL2_3_I,%eax
	# Register eax released
	testl	%eax,%eax
	jne	.L62
	jmp	.L64
.L64:
	# Register eax allocated
	movswl	U_P$KONTRL2_3_L,%eax
	# Register eax released
	testl	%eax,%eax
	jne	.L62
	jmp	.L63
.L62:
	# Register eax,ecx,edx allocated
.Ll8:
	.stabn 68,0,23,.Ll8 - _main
# [23] writeln('...... ........ .... ".." ... ".."');
	call	fpc_get_output
	# Register ecx,edx,eax released
	# Register ebx allocated
	movl	%eax,%ebx
	# Register ecx allocated
	movl	$_$PROGRAM$_L69,%ecx
	# Register edx allocated
	movl	%ebx,%edx
	# Register eax allocated
	movl	$0,%eax
	# Register ecx,edx released
	# Register ecx,edx allocated
	call	fpc_write_text_shortstr
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx released
	# Register eax allocated
	movl	%ebx,%eax
	# Register ecx,edx allocated
	call	fpc_writeln_end
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx,ebx released
.L63:
.Ll9:
	.stabn 68,0,24,.Ll9 - _main
# [24] l:=0;{.......... ... .......... ........}
	movw	$0,U_P$KONTRL2_3_L
.Ll10:
	.stabn 68,0,25,.Ll10 - _main
# [25] f:=false; {...... - .... .... .... .......... ........}
	movb	$0,U_P$KONTRL2_3_F
	# Register al allocated
.Ll11:
	.stabn 68,0,26,.Ll11 - _main
# [26] a:=str[1];
	movb	U_P$KONTRL2_3_STR+1,%al
	# Register al released
	movb	%al,U_P$KONTRL2_3_A
	# Register ax allocated
.Ll12:
	.stabn 68,0,27,.Ll12 - _main
# [27] for i:=2 to length(str)do
	movzbw	U_P$KONTRL2_3_STR,%ax
	movw	$2,U_P$KONTRL2_3_I
	cmpw	U_P$KONTRL2_3_I,%ax
	jl	.L83
	subw	$1,U_P$KONTRL2_3_I
	.balign 4
.L84:
	addw	$1,U_P$KONTRL2_3_I
	# Register edx allocated
.Ll13:
	.stabn 68,0,29,.Ll13 - _main
# [29] if str[i]=a then
	movswl	U_P$KONTRL2_3_I,%edx
	# Register edx released
	# Register dl allocated
	movb	U_P$KONTRL2_3_STR(,%edx,1),%dl
	# Register dl released
	cmpb	U_P$KONTRL2_3_A,%dl
	je	.L85
	jmp	.L86
.L85:
.Ll14:
	.stabn 68,0,31,.Ll14 - _main
# [31] f:=true;
	movb	$1,U_P$KONTRL2_3_F
	# Register ecx allocated
.Ll15:
	.stabn 68,0,32,.Ll15 - _main
# [32] l:=l+1;
	movswl	U_P$KONTRL2_3_L,%ecx
	addl	$1,%ecx
	jno	.L91
	call	FPC_OVERFLOW
.L91:
	# Register edx allocated
	movl	%ecx,%edx
	subl	$-32768,%edx
	# Register edx released
	cmpl	$65535,%edx
	jbe	.L92
	call	FPC_RANGEERROR
.L92:
	# Register ecx released
	# Register cx allocated
	# Register cx released
	movw	%cx,U_P$KONTRL2_3_L
.L86:
	# Register edx allocated
.Ll16:
	.stabn 68,0,34,.Ll16 - _main
# [34] a:=str[i];
	movswl	U_P$KONTRL2_3_I,%edx
	# Register edx released
	# Register dl allocated
	movb	U_P$KONTRL2_3_STR(,%edx,1),%dl
	# Register dl released
	movb	%dl,U_P$KONTRL2_3_A
	# Register ax released
.Ll17:
	.stabn 68,0,27,.Ll17 - _main
	cmpw	U_P$KONTRL2_3_I,%ax
	jg	.L84
.L83:
.Ll18:
	.stabn 68,0,36,.Ll18 - _main
# [36] if f then
	cmpb	$0,U_P$KONTRL2_3_F
	jne	.L95
	jmp	.L96
.L95:
	# Register eax,ecx,edx allocated
.Ll19:
	.stabn 68,0,37,.Ll19 - _main
# [37] writeln('...... ........ .... .......... ........');
	call	fpc_get_output
	# Register ecx,edx,eax released
	# Register ebx allocated
	movl	%eax,%ebx
	# Register ecx allocated
	movl	$_$PROGRAM$_L101,%ecx
	# Register edx allocated
	movl	%ebx,%edx
	# Register eax allocated
	movl	$0,%eax
	# Register ecx,edx released
	# Register ecx,edx allocated
	call	fpc_write_text_shortstr
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx released
	# Register eax allocated
	movl	%ebx,%eax
	# Register ecx,edx allocated
	call	fpc_writeln_end
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx,ebx released
.L96:
	# Register eax allocated
.Ll20:
	.stabn 68,0,38,.Ll20 - _main
# [38] if l>1 then writeln('...... ........ ..... ..... .... .......... ........');
	movswl	U_P$KONTRL2_3_L,%eax
	# Register eax released
	cmpl	$1,%eax
	jg	.L108
	jmp	.L109
.L108:
	# Register eax,ecx,edx allocated
	call	fpc_get_output
	# Register ecx,edx,eax released
	# Register ebx allocated
	movl	%eax,%ebx
	# Register ecx allocated
	movl	$_$PROGRAM$_L114,%ecx
	# Register edx allocated
	movl	%ebx,%edx
	# Register eax allocated
	movl	$0,%eax
	# Register ecx,edx released
	# Register ecx,edx allocated
	call	fpc_write_text_shortstr
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx released
	# Register eax allocated
	movl	%ebx,%eax
	# Register ecx,edx allocated
	call	fpc_writeln_end
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx,ebx released
.L109:
	# Register eax,ecx,edx allocated
.Ll21:
	.stabn 68,0,39,.Ll21 - _main
# [39] read;
	call	fpc_get_input
	# Register ecx,edx,eax released
	# Register ebx allocated
	movl	%eax,%ebx
	# Register eax allocated
	movl	%ebx,%eax
	# Register ecx,edx allocated
	call	fpc_read_end
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx,ebx released
	# Register eax,ecx,edx allocated
.Ll22:
	.stabn 68,0,40,.Ll22 - _main
# [40] readln;
	call	fpc_get_input
	# Register ecx,edx,eax released
	# Register ebx allocated
	movl	%eax,%ebx
	# Register eax allocated
	movl	%ebx,%eax
	# Register ecx,edx allocated
	call	fpc_readln_end
	# Register eax,ecx,edx released
	# Register eax,ecx,edx allocated
	call	FPC_IOCHECK
	# Register eax,ecx,edx,ebx released
.Ll23:
	.stabn 68,0,41,.Ll23 - _main
# [41] End.
	call	FPC_DO_EXIT
	# Register ebx allocated
	movl	-260(%ebp),%ebx
# Temp -260,4 released
	leave
	# Register ebp released
	ret
.L134:
	.stabn 192,0,0,_main-_main
	.stabn 224,0,0,.L134-_main

.section .data
	.long	DEBUGINFO_P$KONTRL2_3
	.balign 4

.section .data
	.ascii	"FPC 2.0.4 [2006/08/21] for i386 - Go32v2"
	.balign 4
	.balign 4
.globl	THREADVARLIST_P$KONTRL2_3
THREADVARLIST_P$KONTRL2_3:
	.long	0
	.balign 4
.globl	FPC_THREADVARTABLES
FPC_THREADVARTABLES:
	.long	2
	.long	THREADVARLIST_SYSTEM
	.long	THREADVARLIST_P$KONTRL2_3
	.balign 4
.globl	FPC_RESOURCESTRINGTABLES
FPC_RESOURCESTRINGTABLES:
	.long	0
	.balign 4
.globl	INITFINAL
INITFINAL:
	.long	1,0
	.long	INIT$_SYSTEM
	.long	FINALIZE$_SYSTEM

.section .data
	.balign 4
.globl	__stklen
__stklen:
	.long	262144

.section .data
	.balign 4
.globl	__heapsize
__heapsize:
	.long	0

.section .data

.section .data
	.balign 4
.globl	_$PROGRAM$_L7
_$PROGRAM$_L7:
	.stabd	70,0,16
	.ascii	"5\202\242\245\244\250\342\245 \341\342\340\256\252\343"
	.ascii	", \341\256\244\245\340\246\240\351\343\356 \"!\", \255"
	.ascii	"\256 \255\245 \257\245\340\242\353\254 \341\250\254"
	.ascii	"\242\256\253\256\254\000"

.section .data
	.balign 4
.globl	_$PROGRAM$_L52
_$PROGRAM$_L52:
	.stabd	70,0,20
	.ascii	"\002\255\256\000"

.section .data
	.balign 4
.globl	_$PROGRAM$_L60
_$PROGRAM$_L60:
	.stabd	70,0,21
	.ascii	"\002\256\255\000"

.section .data
	.balign 4
.globl	_$PROGRAM$_L69
_$PROGRAM$_L69:
	.stabd	70,0,23
	.ascii	"\"\341\342\340\256\252\240 \341\256\244\245\340\246"
	.ascii	"\250\342 \257\240\340\343 \"\255\256\" \250\253\250"
	.ascii	" \"\256\255\"\000"

.section .data
	.balign 4
.globl	_$PROGRAM$_L101
_$PROGRAM$_L101:
	.stabd	70,0,37
	.ascii	"(\221\342\340\256\252\240 \341\256\244\245\340\246\250"
	.ascii	"\342 \257\240\340\343 \256\244\250\255\240\252\256\242"
	.ascii	"\353\345 \341\250\254\242\256\253\256\242\000"

.section .data
	.balign 4
.globl	_$PROGRAM$_L114
_$PROGRAM$_L114:
	.stabd	70,0,38
	.ascii	"4\221\342\340\256\252\240 \341\256\244\245\340\246\250"
	.ascii	"\342 \241\256\253\245\245 \256\244\255\256\251 \257"
	.ascii	"\240\340\353 \256\244\250\255\240\252\256\242\353\345"
	.ascii	" \341\250\254\242\256\253\256\242\000"

.section .data

.section .data

.section .bss

.section .bss
	.balign 4
	.stabs "STR:S1",40,0,11,U_P$KONTRL2_3_STR
	.stabd	72,0,11
# [11] str,str1:string;
	.lcomm	U_P$KONTRL2_3_STR,256

.section .bss
	.balign 4
	.stabs "STR1:S1",40,0,11,U_P$KONTRL2_3_STR1
	.lcomm	U_P$KONTRL2_3_STR1,256

.section .bss
	.stabs "A:S2",40,0,12,U_P$KONTRL2_3_A
	.stabd	72,0,12
# [12] a:char;
	.lcomm	U_P$KONTRL2_3_A,1

.section .bss
	.balign 2
	.stabs "L:S3",40,0,13,U_P$KONTRL2_3_L
	.stabd	72,0,13
# [13] l,i:integer;
	.lcomm	U_P$KONTRL2_3_L,2

.section .bss
	.balign 2
	.stabs "I:S3",40,0,13,U_P$KONTRL2_3_I
	.lcomm	U_P$KONTRL2_3_I,2

.section .bss
	.stabs "F:S4",40,0,14,U_P$KONTRL2_3_F
	.stabd	72,0,14
# [14] f:boolean;
	.lcomm	U_P$KONTRL2_3_F,1

.section .text
	.stabs "",100,0,0,.Letext
.Letext:

