#NO_APP
gcc_compiled.:
.text
	.align 2
LC1:
	.ascii "%d\12\0"
LC2:
	.ascii "%f\12\0"
LC3:
	.ascii "%d\0"
LC4:
	.ascii "%f\0"
LC5:
	.ascii "integer> \0"
LC6:
	.ascii "real> \0"
	.align 1
.globl write
write:
	enter [],0
	cmpd 0,8(fp)
	bne write2
	movd 0(12(fp)),tos
	addr LC1,tos
	br write3
write2:
	movfl 0(12(fp)),tos
	addr LC2,tos
write3:
	jsr _printf
	exit []
	ret 8
	.align 1
.globl read
read:
	enter [],0
	cmpd 0,8(fp)
	bne read2
	addr LC5,tos
	jsr _printf
	movd 12(fp),tos
	addr LC3,tos
	br read3
read2:
	addr LC6,tos
	jsr _printf
	movd 12(fp),tos
	addr LC4,tos
read3:
	jsr _scanf
	exit []
	ret 8
	.align 1
.globl gcd
gcd:
	enter [],16
	addr 0(12(fp)),tos
	movd 0,tos
	jsr write
	movd 1,r2
	movd 0(8(fp)),r0
	subd 0,r0
	movd r0,r3
	cmpqd 0,r3
	beq L0
	movd 0,r2
L0:
	cmpqd 0,r2
	beq L1
	movd 0(12(fp)),-8(fp)
	br L2
L1:
	movd 0(12(fp)),r0
	remd 0(8(fp)),r0
	movd r0,-4(fp)
	addr 0(8(fp)),tos
	addr -4(fp),tos
	jsr gcd
	movd r0,-8(fp)
L2:
	movd -8(fp),r0
	exit []
	ret 8
	.align 1
.globl _main
_main:
	enter [],0
	addr x,tos
	movd 0,tos
	jsr read
	addr x,tos
	movd 0,tos
	jsr write
	addr y,tos
	movd 0,tos
	jsr read
	addr y,tos
	movd 0,tos
	jsr write
	addr x,tos
	addr y,tos
	jsr gcd
	movd r0,z
	addr z,tos
	movd 0,tos
	jsr write
	exit []
	ret 0
.comm z,4
.comm y,4
.comm x,4
