LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 03-08-2018, 04:50 PM   #16
jlinkels
LQ Guru
 
Registered: Oct 2003
Location: Bonaire, Leeuwarden
Distribution: Debian /Jessie/Stretch/Sid, Linux Mint DE
Posts: 5,182

Rep: Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017

Quote:
Originally Posted by wpeckham View Post
I started assembly programming Z-80 processors, then moved on to 6800 series processors before working on Intell 686.
I know exactly the year you graduated now.

It is pure fun to download the old datasheets and indulge yourself in nostalgia. 6800, 6821, 6844, 6850, 6809... Do you remember the undocumented opcodes in the 6800 (or was it the 6502?) like Store Immediate? Wasn't LDAA 0xA8?. Ah, patching programs by making an absolute jump to a memory location, and poking some hex code to see if it would work. Mikbug?

jlinkels
 
Old 03-10-2018, 07:48 AM   #17
dave@burn-it.co.uk
Member
 
Registered: Sep 2011
Distribution: Puppy
Posts: 601

Rep: Reputation: 171Reputation: 171
Quote:
Ah, patching programs by making an absolute jump to a memory location
Not very amusing when you have to fix faulty code at 3 O'clock in the morning. I have been known to wake the guilty party up to come into work and fix it as a punishment (after all I had been called out to fix the damn thing)
 
Old 03-10-2018, 05:04 PM   #18
jlinkels
LQ Guru
 
Registered: Oct 2003
Location: Bonaire, Leeuwarden
Distribution: Debian /Jessie/Stretch/Sid, Linux Mint DE
Posts: 5,182

Rep: Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017
Quote:
Originally Posted by dave@burn-it.co.uk View Post
Not very amusing when you have to fix faulty code at 3 O'clock in the morning. I have been known to wake the guilty party up to come into work and fix it as a punishment (after all I had been called out to fix the damn thing)
I didn't finish Of course I had to say testing a patch by making a jump absolute and insert some code there. And then when it worked, edit the source, run it through the assembler again and load the correct object code.

If you didn't complete that action, and you loaded the new object code (obviously without that patch) people got called at 3 in the morning.

We had a reason to test by poking the instructions in memory. For editing, first we had to load the editor from paper tape, then load the source code, edit it, output it on paper tape, load the assembler from paper tape, load the source code again, assemble it, punch the object code to paper tape and finally load it in the target system.

jlinkels
 
Old 03-15-2018, 02:19 AM   #19
bcwagne
Member
 
Registered: Feb 2008
Distribution: Debian Testing
Posts: 169

Rep: Reputation: 32
I would put in a plug for learning very basic assembly from a game called TIS100. It gives a good overview of the basic concepts without overwhelming you with having to learn an architecture in great detail.
 
Old 03-15-2018, 05:52 AM   #20
dave@burn-it.co.uk
Member
 
Registered: Sep 2011
Distribution: Puppy
Posts: 601

Rep: Reputation: 171Reputation: 171
Quote:
I didn't finish Of course I had to say testing a patch by making a jump absolute and insert some code there. And then when it worked, edit the source, run it through the assembler again and load the correct object code.
Yes that is the excuse most people give "I wasn't given time to come back to it!" "I was transferred to another project!"
 
Old 03-15-2018, 07:15 AM   #21
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 9,078
Blog Entries: 4

Rep: Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170
Steve Wozniak wrote Integer BASIC without an assembler!
 
Old 03-15-2018, 07:40 AM   #22
jlinkels
LQ Guru
 
Registered: Oct 2003
Location: Bonaire, Leeuwarden
Distribution: Debian /Jessie/Stretch/Sid, Linux Mint DE
Posts: 5,182

Rep: Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017Reputation: 1017
Quote:
Originally Posted by sundialsvcs View Post
Steve Wozniak wrote Integer BASIC without an assembler!
OTOH The compiler of Turbo Pascal 3.0 was written in assembly. Even for multiple platforms. https://en.wikipedia.org/wiki/Turbo_Pascal

jlinkels
 
Old 03-16-2018, 05:23 AM   #23
wpeckham
Senior Member
 
Registered: Apr 2010
Location: Continental USA
Distribution: Debian, Ubuntu, Fedora, RedHat, DSL, Puppy, CentOS, Knoppix, Mint-DE, Sparky, Vsido, tinycore, Q4OS
Posts: 2,702

Rep: Reputation: 1101Reputation: 1101Reputation: 1101Reputation: 1101Reputation: 1101Reputation: 1101Reputation: 1101Reputation: 1101Reputation: 1101
Kolibrios https://kolibrios.org/en/is one of an entire FAMILY of operating systems written entirely in assembly, with nearly all applications written entirely in assembly. Everything RIPS, the speed is startling.
 
Old 03-16-2018, 08:05 AM   #24
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 9,078
Blog Entries: 4

Rep: Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170
Quote:
Originally Posted by dave@burn-it.co.uk View Post
Not very amusing when you have to fix faulty code at 3 O'clock in the morning. I have been known to wake the guilty party up to come into work and fix it as a punishment (after all I had been called out to fix the damn thing)
BYTE Magazine (RIP ...) had a marvelous little article on that subject once. One opcode that they discovered was probably used for chip-testing because it caused the chip to freeze and to assert every output. It was dubbed, "Halt and Catch Fire."
 
Old 03-16-2018, 08:08 AM   #25
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 9,078
Blog Entries: 4

Rep: Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170
Quote:
Originally Posted by jlinkels View Post
OTOH The compiler of Turbo Pascal 3.0 was written in assembly. Even for multiple platforms. https://en.wikipedia.org/wiki/Turbo_Pascal
Actually, I've heard two versions of that story. It was a fairly simple-minded recursive descent compiler – also used in Delphi 1.0 but not thereafter – but I have heard that it was written in a high-level language on a "cross-compiler" machine, much as Microsoft used (I think) a DECSystem 10 to develop its early products. Those were the days when a computer was really too small to get out of its own way. (Although the now-collectibles in my closet would probably throw stones at me for saying that.) But a minicomputer was a little bit bigger. You could build it there, and test it on an emulator, before sending it over a serial cable to the intended host.

Last edited by sundialsvcs; 03-16-2018 at 08:09 AM.
 
Old 03-16-2018, 08:14 AM   #26
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 9,078
Blog Entries: 4

Rep: Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170
Quote:
Originally Posted by wpeckham View Post
Kolibrios https://kolibrios.org/en/is one of an entire FAMILY of operating systems written entirely in assembly, with nearly all applications written entirely in assembly. Everything RIPS, the speed is startling.
When I worked on VM/SP and VM/XA operating systems for IBM mainframe computers, most of the source-code was in assembly and it was also open-source (if you were an IBM licensee). But IBM had developed a high-level language and gradually started shipping components to the system as binary (OCO = "Object-Code Only"), amid great protests from its customers. (I haven't followed that world since the early 1990's.)

With modern-day chips, which are highly parallelized, it's actually difficult for a human programmer to write object-code by hand which will attain the maximum possible speed. But a chip designer can work with a compiler designer – and, produce a compiler of their own – that will reliably produce these highly-optimized instruction sequences. The hardware designers anticipate that these new instructions, when used, will be used in the "right" way because it will have been their compiler-logic that caused them to be generated.

Of course, they also publish materials that teach – e.g. FORTRAN – programmers just how to write their source-code so that the compiler will then be able to do its best work.

Last edited by sundialsvcs; 03-16-2018 at 08:19 AM.
 
Old 03-16-2018, 08:43 AM   #27
dave@burn-it.co.uk
Member
 
Registered: Sep 2011
Distribution: Puppy
Posts: 601

Rep: Reputation: 171Reputation: 171
They used PL/C and PL/1, both of which complied via Assembler into Object code.
I still have the green and later yellow cards with all the Op codes and instructions on them. They were a must for anyone supporting VM or MVS?? systems.
 
Old 03-16-2018, 09:36 PM   #28
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 9,078
Blog Entries: 4

Rep: Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170
Me, too. And a card saw. (Yes, I am a proud member of the "dumped an entire box of cards all over the floor and had to sort them back together" club. I also remember that "card holes" made good confetti.)

But I don't miss the days when assembly language was really all that you had, because computers weren't powerful or capacious yet.
 
Old 03-17-2018, 07:14 AM   #29
dave@burn-it.co.uk
Member
 
Registered: Sep 2011
Distribution: Puppy
Posts: 601

Rep: Reputation: 171Reputation: 171
Don't start me on cards.
My first computer job was as an operator and Monday nights was purchase ledger night. The cards were kept in 16 trays that were kept in name sequence as they obviously had to be manually updated during the week. Unfortunately the reporting was in account number sequence and that was 16 digits long.
So Monday night 16 trays had to be sorted on 16 columns, processed and then sorted back again.
The sound you got to hate was a card sorter crash!!
 
Old 03-17-2018, 08:18 AM   #30
sundialsvcs
LQ Guru
 
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 9,078
Blog Entries: 4

Rep: Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170Reputation: 3170
No, I don't miss punched cards or paper tape at all. (I do remember getting a paycheck that was a punched card, and out of curiosity I ran it through a reader/printer just to see what it said before I thought to wonder if that might mean that the bank wouldn't accept it. They did.)

It's amazing that we got anything at all done with what we had – and yet, we must bear in mind that "what we had" was so very much more than what we had had. In Herman Hollerith's time, punched cards were an innovation. (And two companies which very much owe their existence to them, and to the r-e-n-t-a-l (heh ...) of the equipment that consumed them, have three-letter names: NCR, and IBM.)

Maybe I'm just an old phart™ now, but I do enjoy reminiscing about those days although I would never want to go back to them. People who approach the industry now can't imagine it, but this really was the state of advancement of semiconductor technology at that time. And, to this day, I'm dumbfounded by just how far it has advanced, and how fast it has done so. Those "sand people" really are Wizards!

To have been there, as it was happening all around you, and when most of the world wasn't paying any attention to it yet, was a rare experience that is simply gone now.

Last edited by sundialsvcs; 03-17-2018 at 08:21 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] A problem. When using assembly language to call the C language function mirage1993 Programming 3 10-03-2014 08:15 AM
Learn Assembly before CUDA? BrajZore Programming 4 03-04-2013 07:18 PM
Is Assembly Language considered a Structured Language? theKbStockpiler Programming 4 01-30-2011 09:09 AM
How to learn assembly language? darkangel29 Programming 8 01-12-2009 12:30 PM
What are some good resources to learn assembly Language? theunixwizard General 16 07-24-2008 03:27 AM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 09:12 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration