About 38 years ago I interviewed for a software job at GEISCO (GE Information Systems). This would be my second software position after making the switch from field engineering. It was a systems software position, writing software to run on one of their network nodes. At the time GEISCO supposedly ran the largest private data network in the world
One of the engineers I interviewed with felt obligated to test my software skills by asking me to write a short program on his whiteboard. The problem was most systems software was written in assembly language at the time. I knew 4 assembly languages which didn't overlap at all with the assembly languages he knew. Upon learning that we didn't share a language, I asked if he still wanted me to write a program since there was no way he could determine the correctness of my program. Being a good corporate drone, he insisted that I still needed to complete this step so he could mark it off on the interview form. So I proceeded to write some code in GMAP, the assembly language used by Honeywell mainframes since that was the one I was most familiar with. I guess I talked my way through it successfully because I ended up getting the job.
My program wasn't very functional as I wrote system software and it was rare for me to need to use system calls. I definitely had never written a system call which performed any I/O. I believe I loaded an immediate value into a register, performed a left shift, saved it into a memory location, and then ended the program with a MME GEFINI system call which terminates the current program.
Even though I first encountered GMAP assembly language 45 years ago, I still remember the numeric value for the opcodes of a number of the instructions. Perhaps some day I'll once again need to know that a 235 opcode is a LDA instruction (load accumulator) but I'm skeptical. There's a lot of old knowledge I'd love to be able to purge to reclaim the memory space.
No comments:
Post a Comment