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. 
>> 
> 

Reply via email to