I think EDSAC is good to learn machine language, because recent CPU is complex. The ‘initial order’ of EDSAC reads human readable commands from punchtape and store machine readable instructions into its memory. It is very primitive programming language.
Visit Here: EDSAC on browser
We now have plenty of memory than 1950s. For easy learning and inspectation, use memories in human-readable way.
GPLv3. Copyright (C) 2012 NISHIO Hirokazu
http://www.cl.cam.ac.uk/~mr/edsacposter.pdf
- “11100 0 0000100010 0 62 S34S” seems typo of “01100 ...”
- It says HnS is ‘R += m[n]’, however the correct semantics is ‘R = m[n]’, as confirmed by the example programs.
- The ‘verify’ order (actually, load last output to memory) is not explained.
- The wording of ‘load input into the 5 least significant bits’ is unclear, the order wipes all other bits.
- The input/output/verify orders have a long mode variant, not mentioned in the poster.
- The ‘and’ order is not “ABC += w & RS”, but ‘AB += w & RS’.
- It’s not explained that the ‘multiply’ order shifts the result left by 2 bits.
http://www.cl.cam.ac.uk/conference/EDSAC99/simulators/india/download.html
http://www.cl.cam.ac.uk/users/mr/Edsac/edsac.tgz
http://www.dcs.warwick.ac.uk/~edsac/
Special thanks to Paweł Marczewski, he made a massive contribution to the project.
Thanks to Artem Smirnov, Mustafa Karimi, Yoni Tresina Purbasari and Dariane Joy Papa.