EDIT: Damn I forgot to send my messages to [email protected] . I only 
answered roger. Here are the missing messages:

FIRST ONE:

oh...I didn't know it was a buge

I thought, I just didn't understand the code :)

(Actually I even didn't run the program yet, for I like to understand the code 
fully before trying it)

> Subject: Re: [Pgubook-readers] Chapter 5, toupper-program: understanding      
> the read loop
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]; [email protected]
> Date: Sat, 17 May 2008 20:32:41 -0800
> 
> I believe this is a known bug for this part of the book.
> 
> It's simple to fix once you understand the bug. ;-)
> 
> If you check the archives, you'll find the answer.  Maybe another poster
> remembers the specifics for this program.
> 
> 
> On Sat, 2008-05-17 at 13:10 +0000, david helfgott wrote:
> > Hi there !
> > 
> > I got some serious problems with understanding the read loop in the
> > toupper programm.
> > 
> > Where does the computer know to start again from, after the "jmp
> > read_loop begin" ?
> > 
> > Why doesn't the computer always reads the same first 500 bytes into
> > the buffer ?
> > 
> > Where does he knows from, where he has to continue ?
> > 
> > after the "jmp read_loop begin" he starts again at
> > 
> > movl $SYS_READ, %eax
> > movl $ST_FD_IN(%ebp), %ebx
> > movl $BUFFER_DATA, %ecx
> > movl $BUFFER_SIZE, %edx
> > int $LINUX_SYSCALL
> > 
> > that's exactly the same information he got in the first place. 
> > 
> > So if I have a file conatining 700 bytes.
> > Where does he know from to start reading at byte No. 501 in the secon
> > run, and not just read the first 500 bytes again ?
> > 
> > Where's the extra information, that tells him, he already red the
> > first 500 bytes and has to read the next 500 byte ?
> > 
> > 
> > 
> > 
> > 
> > ####################
> > 
> > read_loop_begin:
> > 
> > ###READ IN A BLOCK FROM THE INPUT FILE### 
> > 
> > movl $SYS_READ, %eax 
> > 
> > 
> > #get the input file descriptor 
> > 
> > movl ST_FD_IN(%ebp), %ebx 
> > 
> > 
> > #the location to read into 
> > 
> > movl $BUFFER_DATA, %ecx 
> > 
> > 
> > #the size of the buffer 
> > movl $BUFFER_SIZE, %edx 
> > 
> > 
> > #Size of buffer read is returned in %eax 
> > 
> > int $LINUX_SYSCALL 
> > 
> > 
> > ###EXIT IF WE’VE REACHED THE END### 
> > #check for end of file marker 
> > 
> > cmpl $END_OF_FILE, %eax 
> > 
> > 
> > #if found or on error, go to the end 
> > 
> > jle end_loop 
> > 
> > 
> > continue_read_loop: 
> > ###CONVERT THE BLOCK TO UPPER CASE### 
> > 
> > pushl $BUFFER_DATA #location of buffer 
> > pushl %eax #size of the buffer 
> > call convert_to_upper 
> > popl %eax #get the size back 
> > addl $4, %esp #restore %esp 
> > 
> > 
> > 
> > ###WRITE THE BLOCK OUT TO THE OUTPUT FILE### 
> > #size of the buffer 
> > 
> > movl %eax, %edx 
> > movl $SYS_WRITE, %eax 
> > 
> > #file to use 
> > movl ST_FD_OUT(%ebp), %ebx 
> > 
> > #location of the buffer 
> > 
> > movl $BUFFER_DATA, %ecx 
> > int $LINUX_SYSCALL 
> > 
> > 
> > ###CONTINUE THE LOOP### 
> > jmp read_loop_begin 
> > end_loop: 
> > 
> > 
> > ###CLOSE THE FILES### 
> > #NOTE - we don’t need to do error checking 
> > # on these, because error conditions 
> > # don’t signify anything special here 
> > movl $SYS_CLOSE, %eax 
> > movl ST_FD_OUT(%ebp), %ebx 
> > int $LINUX_SYSCALL 
> > movl $SYS_CLOSE, %eax 
> > movl ST_FD_IN(%ebp), %ebx 
> > int $LINUX_SYSCALL 
> > ###EXIT### 
> > movl $SYS_EXIT, %eax 
> > movl $0, %ebx 
> > int $LINUX_SYSCALL 
> > 
> > #######################
> > 
> > 
> > ______________________________________________________________________
> > Windows Live Messenger - Schreiben. Sehen. Hören. Wie im echten Leben.
> > Windows Live Messenger!
> > _______________________________________________
> > Pgubook-readers mailing list
> > [email protected]
> > http://lists.nongnu.org/mailman/listinfo/pgubook-readers
> -- 
> Roger
> http://www.eskimo.com/~roger/index.html

SECOND ONE








I forgot to mention, that my search on the archive was not sucessfull :-(

THIRD ONE

Hi guys! 

Thank you for your help !

Nevertheless I think you some kind of misunderstood me :-)

I didn't said that the actual program had a bug. I said, I didn't understand a 
certain thing at the program.

I tried using the program with a buffer-size of 1 byte and it still worked. 

There's no bug :-( 

So anyone has a clue where the computer knows from, where to start again after 
the first read loop ?

> Subject: RE: [Pgubook-readers] Chapter 5, toupper-program:    understanding   
> the read loop
> From: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]; [email protected]
> Date: Tue, 20 May 2008 12:28:20 -0800
> 
> 
> On Tue, 2008-05-20 at 11:09 +0000, david helfgott wrote:
> > I forgot to mention, that my search on the archive was not
> > sucessfull :-( 
> > 
> I'm not an official monitor of this list, nor do I program everyday
> using Assembly.  I am only subscribed to the mailing list.
> 
> Just be weary of a bug in one or two programs.
> 
> They're simple enough, you should be able to fix them once you realize
> books have a possibility of container errors!  (I had a slight difficult
> time realizing this possibility as I thought all Linux related were
> perfect.)
> 
> Sept/Oct 2007 seems to contain quite a bit of activity on this list,
> however, none since then.
> 
> The book is still excellent supplement material for any programming
> class, aside from one or two of the known bugs.
> 
> -- 
> Roger
> http://www.eskimo.com/~roger/index.html

FOURTH ONE

> > 
> Well, now you're in the know concerning a bug in a couple of programs.
>  
 
Of course. That's something important and will change my way of reading the 
book.

I still want to know how the computer works witht the buffer >:-( 
I just can't sleep at night quietly with this problem still unsolved.

If I manage to get the answer I'll post it here. Nobody should ever suffer the 
same way I do

XD



_________________________________________________________________
Völlige Gestaltungsfreiheit: Mit Live.com können Sie Ihre Homepage genau so 
gestalten, wie Sie es möchten.
http://www.live.com/getstarted
_______________________________________________
Pgubook-readers mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/pgubook-readers

Reply via email to