linux-assembly.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* redirection
@ 2006-03-01 13:37 glburt
  2006-03-01 14:48 ` redirection Marcin Kościelnicki
  0 siblings, 1 reply; 2+ messages in thread
From: glburt @ 2006-03-01 13:37 UTC (permalink / raw)
  To: linux-assembly

I have the following program:

	SECTION .data		; data section
msg1:	db "Hello World -- 1",10,0 ; the string to print, 10=cr
msg:	db "Hello World",10	; the string to print, 10=cr
len:	equ $-msg		; "$" means "here"
				; len is a value, not an address

	SECTION .text		; code section
        global main		; make label available to linker 
        extern printf
main:				; standard  gcc  entry point
	
	mov	edx,len		; arg3, length of string to print
	mov	ecx,msg		; arg2, pointer to string
	mov	ebx,1		; arg1, where to write, screen
	mov	eax,4		; write command to int 80 hex
	int	0x80		; interrupt 80 hex, call kernel
	
        push    msg1
        call    printf
        add	esp, 4

        mov	ebx,0		; exit code, 0=normal
	mov	eax,1		; exit command to kernel
	int	0x80		; interrupt 80 hex, call kernel


When I assembled/linked it, I used:

nasm -f elf burtp1.asm
gcc burtp1.o

when i ran it, I got two lines of output.:

[burt@linux2 ~]$ ./a.out
Hello World
Hello World -- 1


When I redirected it, I got:

[burt@linux2 ~]$ ./a.out > foo
[burt@linux2 ~]$ cat foo
Hello World

Why was the output from using printf not redirected?

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-03-01 14:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-01 13:37 redirection glburt
2006-03-01 14:48 ` redirection Marcin Kościelnicki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).