Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ Contents1. Introduction2. Basic symbols and comments3. Identifiers, accumulators and cells4. Types and values5. Addresses and storage allocation6. Simple cell designation7. Assignment statements8. Integer accumulator assignments9. Real accumulator assignments10. Long accumulator assignments11. Cell assignments12. Block structure13. Procedures and labels14. Conditional and control statements15. Functions16. Cell declarations17. Synonym declarations18. Storage allocation19. Subcompilation and global storage20. Define statements, conditional compilation and include statements21. Compiler directives22. FORTRAN/PLASYD mixed programming23. ALGOL/PLASYD mixed programming24. Useful library routines25. Use of TASK macro to compile PLASYD programs26. SMO cell designation27. Compiler output28. PLAN instructions not provided for in PLASYD □ Appendices □ 1: Errors and comments2: 1900 character set3: Syntax definitions in alphabetical order4: Use of program XMED5: 1900 order code6: Code genereated for typical PLASYD statements7: A sample PLASYD program8: Less commonly used directivesReferences
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureICL 1906A manualsPLASYD
ACLLiteratureICL 1906A manualsPLASYD
ACL ACD C&A INF CCD CISD Archives
Further reading

Contents1. Introduction2. Basic symbols and comments3. Identifiers, accumulators and cells4. Types and values5. Addresses and storage allocation6. Simple cell designation7. Assignment statements8. Integer accumulator assignments9. Real accumulator assignments10. Long accumulator assignments11. Cell assignments12. Block structure13. Procedures and labels14. Conditional and control statements15. Functions16. Cell declarations17. Synonym declarations18. Storage allocation19. Subcompilation and global storage20. Define statements, conditional compilation and include statements21. Compiler directives22. FORTRAN/PLASYD mixed programming23. ALGOL/PLASYD mixed programming24. Useful library routines25. Use of TASK macro to compile PLASYD programs26. SMO cell designation27. Compiler output28. PLAN instructions not provided for in PLASYD
Appendices
1: Errors and comments2: 1900 character set3: Syntax definitions in alphabetical order4: Use of program XMED5: 1900 order code6: Code genereated for typical PLASYD statements7: A sample PLASYD program8: Less commonly used directivesReferences

7. ASSIGNMENT STATEMENTS

7.1 Types of Assignment Statement

Assignment statements are the means by which storage calls and accumulators are given values. The form of a value assignment to a variable can vary from the simple constants defined in Section 4 to complicated expressions involving the current value of other variables. There is a distinction between cell and accumulator assignments. As the 1900 order code has few machine orders for doing arithmetic in cells, cell assignments are in general much more restrictive. In most cases the calculations are carried out using accumulators and the resulting value is then assigned to a storage cell. In general cell assignment statements are less efficient than accumulator assignments due to the number of store accesses involved.

Assignment statements may run over several lines if necessary, or several short statements may be placed on one line. Statements, like declarations are separated by semicolons. Assignments, in general, only alter the value of the accumulator or value to the left of the assignment operator. Cases where this is not so will be mentioned specifically. Care should be taken about where statements are split between lines. In particular, a wrong code may be generated if the split occurs immediately after the := symbol.

7.2 SMO operands

The operands used in assignments can be the simple cell designators defined in the previous section or the more complex SMO designators. The syntax in the following chapters will include this more complex type which will not be defined in full until a later Section.

7.3 Overflow and Carry

The 1900 series computers do have a number of one-bit registers which are not directly addressable but do affect the operation of some instructions. The OVERFLOW or V register is set when the result of carrying out integer arithmetic in single length exceeds 23 bits plus sign. Once set, V will remain set until cleared. In the case of single length floating point operations, if the accumulator A1 has its exponent go out of range then the floating point overflow register FOVR will be set. Instructions exist on the 1900 range for testing and clearing overflow bits.

The CARRY register is a special one-bit register associated with multi length integer working. The integer arithmetic instructions on the 1900 will, in general, add the CARRY bit to the value of the operand before executing the instruction. However, as the basic instructions reset CARRY to zero, this effect can normally be ignored. When multi-length working is being carried out, special arithmetic instructions allow CARRY to be propagated through the multi-length integer.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site