6 ms·
I actually got paid a salary for learning & programming in IBM mainframe assembler (BAL or Basic Assembly Language) in 1970, for an insurance company. The CPU m
by GnarfGnarf 8y ago
I actually got paid a salary for learning & programming in IBM mainframe assembler (BAL or Basic Assembly Language) in 1970, for an insurance company. The CPU memory was so small (32K, yes 32,768 bytes) that the only way we could squeeze enough functionality was to write in assembler, with overlays (no virtual memory). Debugging consisted of manually toggling hex data and instructions at the control panel. What a blast!
It was a lot of fun, but terribly inefficient programmer productivity. I would not want to go back :o) Dereferencing registers prepared me for C pointers later.
- molteanu 8y agoThanks for sharing
- amorousf00p 8y agoShithead.
- xigency 8y agoWow, 32K! I'm working on an Arduino Uno project where I need to squeeze some complicated logic into 2K RAM and 32K FLASH :). I haven't resorted to assembly, yet.
- amorousf00p 8y agoWhenever I see some shit like 'thanks for sharing' or 'noted' I want to kill someone. These are cautionary tales: ignore at your leisure.
- Narishma 8y ago32KB was a ton of memory in the 70s.
- aswanson 8y agoEspecially in 1970. That was a lot even for 1980.
- deleted 8y ago[deleted]
- cylinder714 8y agoForgive me, but I'm struggling to understand how much useful work one could extract from a computer with only 32k of RAM. A microcontroller for an appliance, sure, but a mainframe? Could you tell us more about the work you were doing?
- TylerE 8y agoOblig NASA factoid: The guidance computer on Apollo that got as to the moon had 4096 bytes of RAM and about 72K of ROM.
- cylinder714 8y agoWhew, excellent point. That raises another question, though—how much computational work did that computer have to do? The real heavy lifting was performed by big NASA mainframes on Earth, right?
- cbm-vic-20 8y agoThe Apollo computer did things like control rocket burns, provide navigational information, etc. More information http://nassp.sourceforge.net/wiki/Guidance_and_Control_System http://nassp.sourceforge.net/wiki/Guidance_and_Control_Syste... The source is on Github, too, for example: https://github.com/chrislgarry/Apollo-11/blob/master/Luminary099/BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc https://github.com/chrislgarry/Apollo-11/blob/master/Luminar...
- cylinder714 8y ago(An aside: do terms like "mainframe" and "microcomputer" have any meaning any more, when a Raspberry Pi Zero has orders of magnitude greater RAM and power than a '70s piece of "big iron"?)
- joshAg 8y agoYes. Mainframes still exist. IBM still sells them, and you can do things like hotswap CPUs and RAM or setup an geographically distributed HA cluster that can swap which mainframe the VMs or databases are "running" on without dropping connections, requests, or other interruptions. https://en.wikipedia.org/wiki/IBM_Z https://en.wikipedia.org/wiki/IBM_Z
- cptnapalm 8y agoOoo! I have a question! Where do I learn more about overlays? The BSD 2.11 code I've read has comments about overlays, but I have no idea where to learn more about how to understand the topic. I came across it while I was seeing if I could get newlib to compile for the PDP-11.
- monocasa 8y agoGame consoles supported the concept a whole lot longer than other domains. ROM bank switching can be thought of as overlay loading, and beyond that most consoles supported overlays up until 360/PS3. The Nintendo DS cartridge format natively supported overlays for instance.
- sehugg 8y agoYou could look at some old Turbo Pascal articles (though don't know how applicable it is to other systems): http://www.boyet.com/articles/publishedarticles/theslithytove.html http://www.boyet.com/articles/publishedarticles/theslithytov...
- ddingus 8y agohttps://www.google.com/amp/s/www.vox.com/platform/amp/policy-and-politics/2018/7/16/17578548/voxcare-national-guideline-clearinghouse https://www.google.com/amp/s/www.vox.com/platform/amp/policy...
- ddingus 8y agoDammit. Wrong link. Here is the correct one: https://www.elsevier.com/books/linkers-and-loaders/levine/978-0-08-051031-6 https://www.elsevier.com/books/linkers-and-loaders/levine/97...
- cptnapalm 8y agoWas wondering about that initial link. Thank you for returning with the correction.
- 8y ago