
.text
.global main                            /* program entry point */

abs:
	mov	%eax,%edx
	sar	$0x1f,%edx
	xor	%edx,%eax
	sub	%edx,%eax
	ret

main:
	push	%ebp
	mov	%esp,%ebp
	and	$0xfffffff0,%esp
	sub	$0x10,%esp

	mov	0x804a014,%eax
	call	abs

	mov	%eax, 0x8(%esp)
	movl	$0x8048510, 0x4(%esp)
	movl	$1,(%esp)
	call	__printf_chk

	leave
	ret

.section	.rodata
    prtString:
	.string	"result is %d\n"

.section .data
    a:
	.long	-25

