The Assembler language book does not describe how processor instructions work. Processor instructions never have allowed division by zero. The Assembler language book quote is describing how an arithmetic expression is evaluated at assembly time by the Assembler program. This misconception is akin to finding a statement in a book about the XYZ compiler (where XYZ might be FORTRAN, PL/1, ALGOL/60, JOVIAL, APL, etc.) that says "division by zero is allowed if ...blah blah..." and then concluding that the processor itself has some kind of divide instruction which will not indicate an error if it attempts to use a divisor of zero. The Assembler language book also describes Assembler language instructions such as SPACE, EJECT, PRINT NODATA, DSECT, etc. These are also not processor instructions. Without doing my homework, I would wager a large sum that somewhere in the beginning of the Assembler language book (introduction, prologue, whatever) is a statement that clarifies what the Assembler language book is not. Bill Fairchild Franklin, TN
----- Original Message ----- From: "Rob van der Heij" <[email protected]> To: [email protected] Sent: Thursday, October 24, 2013 5:35:32 AM Subject: Re: Why is division by zero permitted? Ask someone for a web browser and type google.com ;-) OS assembler language; 360, and december 1967 Many moons ago, a friend (who went to math school) showed me his scars and explained that it were evil that compilers could optimize in such a way that an attempt to divide by zero would go unnoticed. I believe most languages now formally specify which parts of the expression may/will not be computed when it can be avoided. Along the lines where you may write ( i < n & table[i] > 0) without being concerned about stepping beyond your table. Rob On 24 October 2013 12:07, robin <[email protected]> wrote: > From: "glen herrmannsfeldt" <[email protected]> > Sent: Thursday, October 24, 2013 4:22 PM > > > > From C28-6514-5 on bitsavers, on page 16: >> > > What manual is that; for what system, and what date? > > > "Division by zero is permitted and yields a zero result." >> >> After that, (and presumably also earlier) it has to stay that >> way as code (macros) might depend on that. >> >> There is no reason given. >> >
