© Andreas Steger 2023
An implementation of a newton algorithm for determining roots of 4th order polynomials implemented in MMIX assembler. The derivative is calculated using a simple difference quotient.
This program was developed during the Kleingruppen Übungen of the lecture Grundlagen der modernen Informationstechnologie of the winter semester 2023/2024
The documentation is in german.
Newton Grafisch.ggb
: graphical drawing of the problem with the parameters used in the program. Open in GeoGebra
Newton.mms
: The implementation of the algorithm using MMIX assembler (pleas note that the program flow of this implementation isn't ideal, also the naming conventions of register labels are all over the place, please have a look at the version utilizing the stack for a better example)
Newton_PUSH_POP.mms
: The implementation of the algorithm in MMIX assembler, additionally taking advantage of the integrated stack management of the MMIX.
To run the code you need an MMIX emulator. The MMIX Visual Debugger (download) is recommended for doing so.
In case you are fluent in german the MMIX Buch (by Anlauf, Bötcher, Ruckert; ISBN : 978-3-540-42408-6) is, thanks to it's easy and clear descriptions, an excellent starting point. It includes detailed information about the instruction set, gives examples on how to use it and explains the ideas behind their functionality, often by using illustrative diagrams.
Some more information about the MMIX and it's architecture can be found at the official MMIX Website.
For a deeper dive into the architecture it's definition might be helpful.