Maker Pro
Maker Pro

Proposed Assembler Commands

N

neil

John Larkin said:
It probably didn't work. The 6800 was an n-channel depletion-load
chip. You need CMOS to start a decent blaze.
I think it did have an opcode that would put it into a test mode that
only a reset would fix.
John
This was the opcode that some Flight Computers include hardware to detect.
If detected, then it resets the system, rather than allow the CPU to remain
in test mode (I think it cycles the address lines repeatedly.)
... 737 rings a bell, but this was a while ago ...
Neil
 
K

keith

keith said:
]
Yes, but there's not many people left who have seen a 360 or know what it
is:)

Oh, really? Have you looked at your bank? Ok, so IBM changed the
name from s/360 to zSeries, but it's still making quite a good
chunk-o-change.

The s/360 dates from 1964, and I doubt any of the original systems are
still running. You couldn't even afford the electricity they need
nowadays:)

That doesn't change the fact that S/370 still lives in the soul of the
z/Series. ;-)

In 1990, the ES/9000 models came out with fiber-optical I/O channels
(ESCON), and IBM began using the name System/390.

Yes, in the later 90's they became the "z/Series". The 360 architecture
still lives in there somewhere. ;-)
 
K

keith

Wasn't the 8008 a p-ch part? The early eproms (1702? types) certainly
were. The 2708 needed a negative supply, but I can't recall if it was
p-ch or just needed substrate bias.

Yes, most of the industry was p-chanel, I thought Moto was too but it was
a long time ago. ;-) I remember when IBM was contemplating its navel
trying to figure out why they were n-ch and everyone else was p-ch. "What
did we miss?". ;-)
 
K

keith

The 6800 was a 5-volt-only chip, all n-channel, dynamic logic I think;
the p-ch chips had a weird negative supply, -12 or something.

The only nasty part about the 6800 was that you had to externally
generate a 2-phase clock that had some (for the time) nasty swing,
edge rate, and non-overlap limits. The 6801/2/3 and later stuff was a
lot easier to clock.

That wasn't unusual, at the time. The 8085 had similar issues.
I once wrote an RTOS for the 6800, which was tricky because the stack
operations were primitive. We included a reentrant floating-point
package and token ring LAN (invented independently!) and it worked
pretty well in process control apps.

I always liked the Moto instruction sets. The Intel stuff has always
seemed klugey and disorganized to me. So, we all wound up with the
worst instruction set and the worst OS the industry could invent.

The Intel instruction set never bothered me, in fact I rather liked it.
Moto was too easy. ;-) I did like processors with more index
registers though. The one I think is unnecessarily weird is the 8051.
After ~20 years it still lives, so...
 
K

keith

Doesn't the PowerPC have an EIEIO op-code (Enforce Inorder Execution of
I/O)?

Yes. Some time back I was following a bickup truck down I89 with the
license plate EIEIO. Thinking it was a PPC type with strange sense of
humor, I pulled up along side. Nope, McDonald's Tree Farms. ;-)

Wasn't it the 6800 (or perhaps 6502??) that had the LSEX (Load with Sign
EXtended)?
 
J

John Woodgate

I remember when IBM was contemplating its navel trying to figure out
why they were n-ch and everyone else was p-ch. "What did we miss?".
;-)

They didn't take the holistic view?
 
J

John Woodgate

Yes. Some time back I was following a bickup truck down I89 with the
license plate EIEIO. Thinking it was a PPC type with strange sense of
humor, I pulled up along side. Nope, McDonald's Tree Farms. ;-)

You can score one over a boring mathematician by asking if he knows why
925200 is known as 'Macdonald's Number'.
 
M

Mike Monett

keith said:
[...]
The s/360 dates from 1964, and I doubt any of the original systems are
still running. You couldn't even afford the electricity they need
nowadays:)

That doesn't change the fact that S/370 still lives in the soul of the
z/Series. ;-)
In 1990, the ES/9000 models came out with fiber-optical I/O channels
(ESCON), and IBM began using the name System/390.

Yes, in the later 90's they became the "z/Series". The 360 architecture
still lives in there somewhere. ;-)

Keith

Same for the X86 architecture in current microprocessors. AMD showed Intel it was
a bad idea to ignore the old legacy code in the 64-bit cpu's.

My editor is the old Borland SPRINT editor from 1988. It ran on the first IBM PC's
at 4.77MHz, and it runs great on a 200MHz machine. I expect it will still run long
after I'm gone:)

Mike Monett
 
K

Ken Smith

John Larkin said:
I always liked the Moto instruction sets. The Intel stuff has always
seemed klugey and disorganized to me. So, we all wound up with the
worst instruction set and the worst OS the industry could invent.


You've obviously never seen the RCA CDP1802's instruction set.

Imagine you have 3, 1 byte variable in memory and wish to do C = A + B
here's the code for it (If my memory is working today):


LDI low(A) .. Load the low part of an address
PLO R2 .. Put into the low part of the reg
LDI high(A) .. Same for the high byte
PHI R2

LDI low(B) .. Load the low part of an address
PLO R3 .. Put into the low part of the reg
LDI high(B) .. Same for the high byte
PHI R3

LDI low(C) .. Load the low part of an address
PLO R4 .. Put into the low part of the reg
LDI high(C) .. Same for the high byte
PHI R4


LDN R2
SEX R3
ADD
STD R4


That right folks only 16 instructions needed for that.
 
S

Spehro Pefhany

On Sun, 1 May 2005 19:35:08 +0000 (UTC), the renowned
RCA 1802 had a SEX instruction.

But sadly lacked the necessary hardware for multiplication.


Best regards,
Spehro Pefhany
 
L

Larry Brasfield

I sometimes suspected IBM wanted to help ensure
their PC would never compete with real computers.
You've obviously never seen the RCA CDP1802's instruction set.

Imagine you have 3, 1 byte variable in memory and wish to do C = A + B
here's the code for it (If my memory is working today):


LDI low(A) .. Load the low part of an address
PLO R2 .. Put into the low part of the reg
LDI high(A) .. Same for the high byte
PHI R2

LDI low(B) .. Load the low part of an address
PLO R3 .. Put into the low part of the reg
LDI high(B) .. Same for the high byte
PHI R3

LDI low(C) .. Load the low part of an address
PLO R4 .. Put into the low part of the reg
LDI high(C) .. Same for the high byte
PHI R4


LDN R2
SEX R3
ADD
STD R4


That right folks only 16 instructions needed for that.

The 1802 did RISC before its heyday. I suspect it was
motivated by transistor count rather than speed. At the
time, CMOS had the lowest gate density.
 
J

John Larkin

You've obviously never seen the RCA CDP1802's instruction set.

Imagine you have 3, 1 byte variable in memory and wish to do C = A + B
here's the code for it (If my memory is working today):


LDI low(A) .. Load the low part of an address
PLO R2 .. Put into the low part of the reg
LDI high(A) .. Same for the high byte
PHI R2

LDI low(B) .. Load the low part of an address
PLO R3 .. Put into the low part of the reg
LDI high(B) .. Same for the high byte
PHI R3

LDI low(C) .. Load the low part of an address
PLO R4 .. Put into the low part of the reg
LDI high(C) .. Same for the high byte
PHI R4


LDN R2
SEX R3
ADD
STD R4


That right folks only 16 instructions needed for that.

Sounds tedious.

680x:

LDAA A
ADAA B
STAA C

PDP-11:

MOVB A, C
ADDB B, C

The PDP-11 had an elegant, symmetric, beautiful instruction set. I
haven't programmed one in decades, but I can still mentally assemble
most common instructions (into octal!)

John
 
D

Dave Holford

Back in the 70s when I taught Assembly I used to work with a guy who sported a
T-shirt which displayed the Hex for "Exchange Byte 69" on the back.

We also had a list which included things like:
RWT Rewind and wipe tape
IAC Ignore all commands
DPL Destroy progam and loop
etc.

Regretfully I don't have a list and have long forgotten most of them; but HCF
is one that I remember.

Dave
 
K

keith

keith said:
[...]
The s/360 dates from 1964, and I doubt any of the original systems are
still running. You couldn't even afford the electricity they need
nowadays:)

That doesn't change the fact that S/370 still lives in the soul of the
z/Series. ;-)
In 1990, the ES/9000 models came out with fiber-optical I/O channels
(ESCON), and IBM began using the name System/390.

Yes, in the later 90's they became the "z/Series". The 360 architecture
still lives in there somewhere. ;-)

Keith

Same for the X86 architecture in current microprocessors. AMD showed Intel it was
a bad idea to ignore the old legacy code in the 64-bit cpu's.

Oh, my! I've been saying the *exact* same thing in .chips (for years) in
reference to the Itanic. One doens't strand $billions in software.
(see: IBM+FS).
My editor is the old Borland SPRINT editor from 1988. It ran on the
first IBM PC's at 4.77MHz, and it runs great on a 200MHz machine. I
expect it will still run long after I'm gone:)

My fav editor gave up the ghost about then. I loved EPM, but it went the
way of 16bit addressing. I still try to find E-like editors.
 
K

keith

They didn't take the holistic view?

Nah, they went back to bipolar. ;-)

Indeed there was a study to figure out why "we're wrong". IIRC, the
answer was that "they" can't afford the technology, but it's better, which
I think was proven to be right.
 
K

keith

I sometimes suspected IBM wanted to help ensure
their PC would never compete with real computers.

I often suspect that you haven't a clue what you're talking about.
The 1802 did RISC before its heyday. I suspect it was
motivated by transistor count rather than speed. At the
time, CMOS had the lowest gate density.

Ok, what is *your* definiton of RISC? I suspect we're going to be
"enlightened" here.
 
K

keith

You've obviously never seen the RCA CDP1802's instruction set.

Imagine you have 3, 1 byte variable in memory and wish to do C = A + B
here's the code for it (If my memory is working today):

<instructions snipped>

I do believe the 1802 is outta this world! IIRC is't on the Pioneers and
Voyagers. Wonderful accomplishments!

BTW, I like the ISA of the NSC PACE. It was the first 16bit
"microprocessor", though it had an 8bit ALU. The skip instrucitons
(Decrement nnd SKip if Zero, SKip if And Zero, etc.) were quite nice, if
one had to program in assembler.
 
Top