PIC registers

spinnaker

Joined Oct 29, 2009
7,830
There is a huge difference between getting the job done in a hurry and truly learning and understanding what goes on behind the scene. You have to choose which one you want. Some folks just want to get there fast and don't care for the scenery.

And then there is never getting than further than 5 meters from your home because you are too busy examining each and every blade of grass looking for the differences. :)
 

ErnieM

Joined Apr 24, 2011
8,377
My two cents: I don't think any beginner one can have a easier time successfully writing good assembly code then using a baseline PIC. With just over 30 instructions to learn you can get running pretty fast.

Knowing what is happening at the lowest level will always help you even if you only intend to code in C. Plus you may need to do just a few assembly statements somewhere to get somethings very fast.

That said, I've never done any assembly code in anything over a PIC16.
 

nsaspook

Joined Aug 27, 2009
13,306
There is a huge difference between getting the job done in a hurry and truly learning and understanding what goes on behind the scene. You have to choose which one you want. Some folks just want to get there fast and don't care for the scenery.
The only thing that would be truly learned is a specific machines instruction set. A valuable thing if your job (I've been there) is to hand optimize small programs into the smallest CPU that will run it correctly.

I think you have it backwards, people who write large programs in high-level languages know that just getting the job done fast will result in slow bloated code. Most actually spend a large amount of time thinking about the best way to split-up functions, write procedures and data to make things run faster.

I've done low level ASM coding on everything from the 8080, z80, 68000 and a few other odd-ball machines most people never heard of (Harris H-series). My first real taste of a large ASM coded project was the OS for the H-series machines called VULCAN. It was a total maintenance nightmare. Not because it was poorly written but over the years the specifications for it had become so complex it became almost impossible to verify and had become totally dependent on the hardware quirks in the cpu platform during the process of making it run faster when features were added over the years.

When the time came to go to the next generation of hardware it (VULCAN) was totally scrapped and Unix written in C was ported to the new and old hardware.

http://www.google.com/url?q=http://...xB9Cew&usg=AFQjCNHYmfeAlaFc-n1lH_fsCKadmAIDWg
 
Last edited:

MrChips

Joined Oct 2, 2009
30,821
My first real taste of a large ASM coded project was the OS for the H-series machines called VULCAN. It was a total maintenance nightmare. Not because it was poorly written but over the years the specifications for it had become so complex it became almost impossible to verify and had become totally dependent on the hardware quirks in the cpu platform during the process of making it run faster when features were added over the years.
This is not a fault of asm. It is more an indication of poor and incompetent managers and programmers.

It took a long time before Structured Programming was understood, appreciated, taught and practiced.

Before the IBM PC came out I wrote a CAD program completely in asm, to do circuit drawings and PCB layouts, with graphics, mouse, icons, menus and user definable objects and icons.

This program ran circles around AutoCAD which came out later on the PC.
 

nsaspook

Joined Aug 27, 2009
13,306
This is not a fault of asm. It is more an indication of poor and incompetent managers and programmers.

It took a long time before Structured Programming was understood, appreciated, taught and practiced.

Before the IBM PC came out I wrote a CAD program completely in asm, to do circuit drawings and PCB layouts, with graphics, mouse, icons, menus and user definable objects and icons.

This program ran circles around AutoCAD which came out later on the PC.
AutoCAD and CAD programs in general are toys compared to the complexity of a mini-supercomputer OS like VULCAN was.

http://www.textfiles.com/bitsavers/pdf/harris/vulcan/0862005-003_vulcanOvr_May78.pdf
http://www.textfiles.com/bitsavers/pdf/harris/vulcan/AA61770-0_VULCAN_Spec_Jan75.pdf

Poor and incompetent managers and programmers are not the words to describe the people who could make this work in 1975.

The question of ASM vs C has moved on with cheap 32 bit micro-controllers, the question now is Structured Programming or Object-Oriented Programming.
 
Last edited:
Top