I worked with IBM mainframe PL/I a great deal and it was "normal" to sometimes walk into the office and find a dump listing (fan fold paper) sitting on my desk. The crash dump from a PL/I program was very structured - if one knew the layout of the many 'control blocks'.I coded on S/360 and later IBM mainframes in assembler. I used to read machine code from ore dumps just as easily as reading the assembly language. For lesser used instructions the reference card was needed, best job I had was reading core dumps for others, working out what was wrong and what to do to fix it and pass the info back to them for them to fix. Most dumps were application issues so quite easy, larger system issues took a lot longer to work out in particular when instructions had been overwritten.
PL/1 was a really lovely language. I ran across it late in the day and it fit me like a glove, best of all the languages I had used.I worked with IBM mainframe PL/I.....
It's a very notable language, it was used to write the Multics OS and later Stratus' VOS. In fact it was the first high level language used to write an OS. As a systems programming language it had features still lacking today in C, C++ etc. It was the first language to have pointers and exceptions for example.PL/1 was a really lovely language. I ran across it late in the day and it fit me like a glove, best of all the languages I had used.
That's computer history right there!My mainframes were the IBM 7090/7094 and S/360 using FORTRAN and SNOBOL (ca. 1962-1969)
I started on Z-80 & 6809 CPUs using BASIC to just get used to things. Almost all the projects I did across 40 years were on microcontrollers in assembler. Cost & size were important but speed was the usual motive. Compilers are required in certain structures that pure assembler can violate. In a compiler, an interrupt Must save all registers, BUT assembler can save only the relevant ones. You can also do "questionable" behaviors like, purging the stack (toss all original values) and exit to a completely different place. This is Very Handy for error routines, BUT you can get in Real Trouble as well.I've never used assembly myself but I learnt about it when learning compilers. My understanding is assembly is a very low level programming language. It's meant to offer direct access to memory registers and allow full control where a compiler might prevent or limit an operation.
On the other hand, a compiler is quick and generally very efficient at generating machine code. While it's true an operation may run faster in assembly, it's up the programmer to write the entire algorithm and all the sub-routines that normally come ready with something like C or C++.
Unless you have experience writing mathematical algorithms, C++ will do everything you probably need and better than if you wrote the program in assembly. For most things, it seems like a really slow and error prone way to write software. I'd be interested to hear from people who had their careers in assembly like languages.
| Thread starter | Similar threads | Forum | Replies | Date |
|---|---|---|---|---|
|
|
AI Coding Assistance | Programming & Languages | 5 | |
|
|
test bench code | Homework Help | 1 | |
| M | MPLABX PIC16F887A Assembly coding | Homework Help | 8 | |
| D | PIC assembly coding problem | Programming & Languages | 6 | |
| L | Learning Intel assembly coding | Microcontrollers | 7 |