* Posts by pbug56

1 publicly visible post • joined 4 Nov 2022

RIP: Kathleen Booth, the inventor of assembly language


Programming in Assembler - remembering Kathleen Booth

1974, in college, I learned to program in IBM BAL - Basic Assembler Language. For those who don't know, Assembler is a step above pure machine code, with short alphanumeric 'codes' to do things. If you understand assembler, you understand what goes on behind the scenes after a compiler changes your high level language code into something a computer can actually use. And you understand so much about how bad compilers and operating systems create vulnerabilities. Real hackers (not ones who buy prewritten tools for hacking) understand what it takes to break systems, and competent compiler writers and OS writers understand how to protect computers. Sadly, companies like MicroSloth have for decades pumped out piles of new, often useless features while putting out OS versions and compilers that are sloppy and vulnerable. My favorite command in BAL is MVC SOURCE, Destination. Essentially saying to move contents of one location to another, typically in some way given source start position and end position or length and where to copy those characters. The fun part - you can put data almost anywhere, even write over your own code - IOTW, you can change the program as it runs. This is one of the biggest tools in hacking - putting code or data of your choice where it doesn't belong.

Early computers were programmed in this manner, but high level languages like COBOL and FORTRAN came pretty soon afterwards. While not glamorous, they are still heavily used today. They made coding much easier. However, let's say your COBOL program crashed and you got what was called a CORE DUMP. You needed to know Assembler to read the dump. And it still has value today.