Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.raspberry-pi > #12584 > unrolled thread

Sample ARM assember code?

Started by"gareth G4SDW GQRP #3339" <no.spam@thank.you.invalid>
First post2016-07-06 11:25 +0100
Last post2016-10-27 12:30 +0300
Articles 20 on this page of 25 — 13 participants

Back to article view | Back to comp.sys.raspberry-pi


Contents

  Sample ARM assember code? "gareth G4SDW GQRP #3339" <no.spam@thank.you.invalid> - 2016-07-06 11:25 +0100
    Re: Sample ARM assember code? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2016-07-06 13:54 +0300
      Re: Sample ARM assember code? "gareth G4SDW GQRP #3339" <no.spam@thank.you.invalid> - 2016-07-06 12:50 +0100
        Re: Sample ARM assember code? alister <alister.ware@ntlworld.com> - 2016-07-06 12:29 +0000
          Re: Sample ARM assember code? alister <alister.ware@ntlworld.com> - 2016-07-06 12:46 +0000
            Re: Sample ARM assember code? "Kerr Mudd-John" <admin@127.0.0.1> - 2016-07-06 14:15 +0100
          Re: Sample ARM assember code? Dennis <dennis@none.none> - 2016-07-06 10:08 -0500
        Re: Sample ARM assember code? jeffj@panix.com (Jeff Jonas) - 2016-07-06 08:39 -0400
          Re: Sample ARM assember code? Big Bad Bob <BigBadBob-at-mrp3-dot-com@testing.local> - 2016-10-13 01:17 -0700
            Re: Sample ARM assember code? Michael J. Mahon <mjmahon@aol.com> - 2016-10-13 11:48 -0500
              Re: Sample ARM assember code? jeffj@panix.com (Jeff Jonas) - 2016-11-24 02:19 -0500
            Re: Sample ARM assember code? jeffj@panix.com (Jeff Jonas) - 2016-11-24 01:56 -0500
              Re: Sample ARM assember code? Robert Riches <spamtrap42@jacob21819.net> - 2016-11-25 03:36 +0000
                Re: Sample ARM assember code? Michael J. Mahon <mjmahon@aol.com> - 2016-11-24 23:31 -0600
                  Re: Sample ARM assember code? alister <alister.ware@ntlworld.com> - 2016-11-25 12:42 +0000
                    Re: Sample ARM assember code? The Natural Philosopher <tnp@invalid.invalid> - 2016-11-25 13:14 +0000
                  Re: Sample ARM assember code? Robert Riches <spamtrap42@jacob21819.net> - 2016-11-26 01:05 +0000
                    Re: Sample ARM assember code? The Natural Philosopher <tnp@invalid.invalid> - 2016-11-26 11:28 +0000
                      Re: Sample ARM assember code? Robert Riches <spamtrap42@jacob21819.net> - 2016-11-27 03:32 +0000
                        Re: Sample ARM assember code? The Natural Philosopher <tnp@invalid.invalid> - 2016-11-27 12:01 +0000
                          Re: Sample ARM assember code? Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-11-27 09:28 -0500
                Re: Sample ARM assember code? mm0fmf <none@invalid.com> - 2016-11-25 18:06 +0000
    Re: Sample ARM assember code? glavallin <glavallin@gjlavallin.plus.com> - 2016-10-27 10:07 +0100
      Re: Sample ARM assember code? glavallin <glavallin@gjlavallin.plus.com> - 2016-10-27 10:39 +0100
      Re: Sample ARM assember code? Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2016-10-27 12:30 +0300

Page 1 of 2  [1] 2  Next page →


#12584 — Sample ARM assember code?

From"gareth G4SDW GQRP #3339" <no.spam@thank.you.invalid>
Date2016-07-06 11:25 +0100
SubjectSample ARM assember code?
Message-ID<nlimbu$7l3$1@dont-email.me>
Are there listings anywhere of sample ARM assembler code
covering all the standard C library such as strcpy, etc?

[toc] | [next] | [standalone]


#12586

FromTauno Voipio <tauno.voipio@notused.fi.invalid>
Date2016-07-06 13:54 +0300
Message-ID<nlio0p$cp7$1@dont-email.me>
In reply to#12584
On 6.7.16 13:25, gareth G4SDW GQRP #3339 wrote:
> Are there listings anywhere of sample ARM assembler code
> covering all the standard C library such as strcpy, etc?


Get the newlib sources (Google for it).

Prepare to be disappointed: Most of the libraries are
written in C.

If you absolutely insist on assembly code, you can translate
the sources with assembly listings, adding '-Wa,ahlms=file.lst'
to the GCC command line. Substitute the source name for 'file'
above.

-- 

-TV

[toc] | [prev] | [next] | [standalone]


#12589

From"gareth G4SDW GQRP #3339" <no.spam@thank.you.invalid>
Date2016-07-06 12:50 +0100
Message-ID<nlir9r$o1m$1@dont-email.me>
In reply to#12586
"Tauno Voipio" <tauno.voipio@notused.fi.invalid> wrote in message 
news:nlio0p$cp7$1@dont-email.me...
> On 6.7.16 13:25, gareth G4SDW GQRP #3339 wrote:
>> Are there listings anywhere of sample ARM assembler code
>> covering all the standard C library such as strcpy, etc?
> Get the newlib sources (Google for it).
>
> Prepare to be disappointed: Most of the libraries are
> written in C.
>
> If you absolutely insist on assembly code, you can translate
> the sources with assembly listings, adding '-Wa,ahlms=file.lst'
> to the GCC command line. Substitute the source name for 'file'
> above.

I'm not used to a register machine with only load and store for
memory access and just wanted to crib some techniques

[toc] | [prev] | [next] | [standalone]


#12590

Fromalister <alister.ware@ntlworld.com>
Date2016-07-06 12:29 +0000
Message-ID<%Q6fz.16583$CF.13730@fx41.am4>
In reply to#12589
On Wed, 06 Jul 2016 12:50:08 +0100, gareth G4SDW GQRP #3339 wrote:

> "Tauno Voipio" <tauno.voipio@notused.fi.invalid> wrote in message
> news:nlio0p$cp7$1@dont-email.me...
>> On 6.7.16 13:25, gareth G4SDW GQRP #3339 wrote:
>>> Are there listings anywhere of sample ARM assembler code covering all
>>> the standard C library such as strcpy, etc?
>> Get the newlib sources (Google for it).
>>
>> Prepare to be disappointed: Most of the libraries are written in C.
>>
>> If you absolutely insist on assembly code, you can translate the
>> sources with assembly listings, adding '-Wa,ahlms=file.lst'
>> to the GCC command line. Substitute the source name for 'file' above.
> 
> I'm not used to a register machine with only load and store for memory
> access and just wanted to crib some techniques

Really
I though you were an expert at low level programming

Are you saying that the ARM does not have any index registers? I find 
that hard to believe



-- 
broadcast packets on wrong frequency

[toc] | [prev] | [next] | [standalone]


#12593

Fromalister <alister.ware@ntlworld.com>
Date2016-07-06 12:46 +0000
Message-ID<H47fz.11038$EG.7230@fx45.am4>
In reply to#12590
On Wed, 06 Jul 2016 12:29:47 +0000, alister wrote:

> On Wed, 06 Jul 2016 12:50:08 +0100, gareth G4SDW GQRP #3339 wrote:
> 
>> "Tauno Voipio" <tauno.voipio@notused.fi.invalid> wrote in message
>> news:nlio0p$cp7$1@dont-email.me...
>>> On 6.7.16 13:25, gareth G4SDW GQRP #3339 wrote:
>>>> Are there listings anywhere of sample ARM assembler code covering all
>>>> the standard C library such as strcpy, etc?
>>> Get the newlib sources (Google for it).
>>>
>>> Prepare to be disappointed: Most of the libraries are written in C.
>>>
>>> If you absolutely insist on assembly code, you can translate the
>>> sources with assembly listings, adding '-Wa,ahlms=file.lst'
>>> to the GCC command line. Substitute the source name for 'file' above.
>> 
>> I'm not used to a register machine with only load and store for memory
>> access and just wanted to crib some techniques
> 
> Really I though you were an expert at low level programming
> 
> Are you saying that the ARM does not have any index registers? I find
> that hard to believe

oh no any register can be used as an index

what are you actually finding to be difficult?


-- 
The father, passing through his son's college town late one evening on a
business trip, thought he would pay his boy a suprise visit.  Arriving at 
the
lad's fraternity house, dad rapped loudly on the door.  After several 
minutes
of knocking, a sleepy voice drifted down from a second-floor window,
	"Whaddaya want?"
	"Does Ramsey Duncan live here?" asked the father.
	"Yeah," replied the voice.  "Dump him on the front porch."

[toc] | [prev] | [next] | [standalone]


#12606

From"Kerr Mudd-John" <admin@127.0.0.1>
Date2016-07-06 14:15 +0100
Message-ID<op.yj6kfjy2msr2db@dell3100.workgroup>
In reply to#12593
On Wed, 06 Jul 2016 13:46:31 +0100, alister <alister.ware@ntlworld.com>  
wrote:

> On Wed, 06 Jul 2016 12:29:47 +0000, alister wrote:
>
>> On Wed, 06 Jul 2016 12:50:08 +0100, gareth G4SDW GQRP #3339 wrote:
>>
>>> "Tauno Voipio" <tauno.voipio@notused.fi.invalid> wrote in message
>>> news:nlio0p$cp7$1@dont-email.me...
>>>> On 6.7.16 13:25, gareth G4SDW GQRP #3339 wrote:
>>>>> Are there listings anywhere of sample ARM assembler code covering all
>>>>> the standard C library such as strcpy, etc?
>>>> Get the newlib sources (Google for it).
>>>>
>>>> Prepare to be disappointed: Most of the libraries are written in C.
>>>>
>>>> If you absolutely insist on assembly code, you can translate the
>>>> sources with assembly listings, adding '-Wa,ahlms=file.lst'
>>>> to the GCC command line. Substitute the source name for 'file' above.
>>>
>>> I'm not used to a register machine with only load and store for memory
>>> access and just wanted to crib some techniques
>>
>> Really I though you were an expert at low level programming
>>
>> Are you saying that the ARM does not have any index registers? I find
>> that hard to believe
>
> oh no any register can be used as an index
>
> what are you actually finding to be difficult?
>
>
PDFTT.

-- 
Bah, and indeed, Humbug

[toc] | [prev] | [next] | [standalone]


#12611

FromDennis <dennis@none.none>
Date2016-07-06 10:08 -0500
Message-ID<nlj6ti$2gl$1@dont-email.me>
In reply to#12590
On 07/06/2016 07:29 AM, alister wrote:
> On Wed, 06 Jul 2016 12:50:08 +0100, gareth G4SDW GQRP #3339 wrote:
>
>> "Tauno Voipio" <tauno.voipio@notused.fi.invalid> wrote in message
>> news:nlio0p$cp7$1@dont-email.me...
>>> On 6.7.16 13:25, gareth G4SDW GQRP #3339 wrote:
>>>> Are there listings anywhere of sample ARM assembler code covering all
>>>> the standard C library such as strcpy, etc?
>>> Get the newlib sources (Google for it).
>>>
>>> Prepare to be disappointed: Most of the libraries are written in C.
>>>
>>> If you absolutely insist on assembly code, you can translate the
>>> sources with assembly listings, adding '-Wa,ahlms=file.lst'
>>> to the GCC command line. Substitute the source name for 'file' above.
>>
>> I'm not used to a register machine with only load and store for memory
>> access and just wanted to crib some techniques
>
> Really
> I though you were an expert at low level programming
>
> Are you saying that the ARM does not have any index registers? I find
> that hard to believe
>
>
>
I think he means that the ARM has no register-storage (or 
storage-storage) instructions where one or more of the operands can be 
in storage. For example X86 or TI MPS430 series (a RISC processor only 
in the drug addled brains of the marketing folk)

[toc] | [prev] | [next] | [standalone]


#12591

Fromjeffj@panix.com (Jeff Jonas)
Date2016-07-06 08:39 -0400
Message-ID<nliu62$krv$1@panix3.panix.com>
In reply to#12589
>>> Are there listings anywhere of sample ARM assembler code  ...

>I'm not used to a register machine with only load and store for
>memory access and just wanted to crib some techniques

That's part of the 'culture shock' of going to pure RISC.
Only one memory access per instruction.
No memory to memory accesses, searches, etc.

[toc] | [prev] | [next] | [standalone]


#13244

FromBig Bad Bob <BigBadBob-at-mrp3-dot-com@testing.local>
Date2016-10-13 01:17 -0700
Message-ID<EfqdnSy2ZoAj32LKnZ2dnUU7-dPNnZ2d@earthlink.com>
In reply to#12591
On 07/06/16 05:39, Jeff Jonas so wittily quipped:
>>>> Are there listings anywhere of sample ARM assembler code  ...
> 
>> I'm not used to a register machine with only load and store for
>> memory access and just wanted to crib some techniques
> 
> That's part of the 'culture shock' of going to pure RISC.
> Only one memory access per instruction.
> No memory to memory accesses, searches, etc.
> 

old-school assembly programmers were used to that, particularly on
things like 6502 and really old minicomputers that only had accumulators
and index registers.


-- 
your story is so touching, but it sounds just like a lie
"Straighten up and fly right"

[toc] | [prev] | [next] | [standalone]


#13245

FromMichael J. Mahon <mjmahon@aol.com>
Date2016-10-13 11:48 -0500
Message-ID<5KOdnUqzvctTJ2LKnZ2dnUU7-L9QAAAA@giganews.com>
In reply to#13244
Big Bad Bob <BigBadBob-at-mrp3-dot-com@testing.local> wrote:
> On 07/06/16 05:39, Jeff Jonas so wittily quipped:
>>>>> Are there listings anywhere of sample ARM assembler code  ...
>> 
>>> I'm not used to a register machine with only load and store for
>>> memory access and just wanted to crib some techniques
>> 
>> That's part of the 'culture shock' of going to pure RISC.
>> Only one memory access per instruction.
>> No memory to memory accesses, searches, etc.
>> 
> 
> old-school assembly programmers were used to that, particularly on
> things like 6502 and really old minicomputers that only had accumulators
> and index registers.
> 
> 

Right. 

Memory-to-memory operations, like moves, are always really firmware doing
loads and stores in a loop. 

RISC machines simply expose the more microcode-like instructions
implemented by hardware. 

Consider the complexity of a firmware move loop on a virtual memory
machine, where each operand and the instruction itself may cross page
boundaries, leading to three potential page faults in a single high-level
instruction!
-- 
-michael - NadaNet 3.1 and AppleCrate II:  http://michaeljmahon.com

[toc] | [prev] | [next] | [standalone]


#13401

Fromjeffj@panix.com (Jeff Jonas)
Date2016-11-24 02:19 -0500
Message-ID<o1649o$j6m$1@panix3.panix.com>
In reply to#13245
>>>> I'm not used to a register machine with only load and store
>>>> for memory access and just wanted to crib some techniques

Google found that 6502 folks shared libraries for such needs:

http://6502.org/source/general/clearmem.htm
Clearing a Section of Memory

http://6502.org/source/general/memory_move.html

>>> That's part of the 'culture shock' of going to pure RISC.
>>> Only one memory access per instruction.
>>> No memory to memory accesses, searches, etc.

> Memory-to-memory operations, like moves,
> are always really firmware doing loads and stores in a loop.

I think you mean "microcode", not "firmware".

I'd hate to be a nit-picker, but to me "firmware" refers to ROM-code.
Arduino-like microcontroller systems tend to be called "embedded systems"
because they run totally from ROM/read-mostly-flash.
For larger systems, the ROM tends to be ignored once the full system is booted.
The IBM PC originally ran both load-on-demand user programs
with "hooks" to the BIOS: motherboard and peripherals.
But that was all single-threaded.

"microcode" is loaded upon power-on, extending the instruction set.

I believe the Z80's memory-move was totally hard-wired hardware.
No microcode.
Or perhaps a microcoded-state machine
that was hard-coded into the silicon.

> Consider the complexity of a firmware move loop
> on a virtual memory machine, where each operand and the instruction itself
> may cross page boundaries, leading to three potential page faults
> in a single high-level instruction!

The IBM 360 had a more pathological situation:
an execute instruction, on a page boundary
executing a move-character instruction, on a page boundary
where the source spans a page boundary
and the destination spans a page boundary.
That requires 8 pages loaded simultaneously to resume execution.

-- jeffj

[toc] | [prev] | [next] | [standalone]


#13400

Fromjeffj@panix.com (Jeff Jonas)
Date2016-11-24 01:56 -0500
Message-ID<o162v8$kk1$1@panix3.panix.com>
In reply to#13244
>> That's part of the 'culture shock' of going to pure RISC.
>> Only one memory access per instruction.
>> No memory to memory accesses, searches, etc.

> old-school assembly programmers were used to that,
> particularly on things like 6502 and really old minicomputers
> that only had accumulators and index registers.

The 6502 was not so bad.
It had fewer registers than the Motorola 6800
to reduce die size and complexity, thus the lower cost
but it still had index registers that could be used
almost as well as general purpose registers.

It even had SOME memory-to-memory operations.
Citing http://forum.6502.org/viewtopic.php?t=2

    Read-modify-write instructions (like INC)
    read the original data, write it back, and then write the modified data.

-- jeffj

[toc] | [prev] | [next] | [standalone]


#13407

FromRobert Riches <spamtrap42@jacob21819.net>
Date2016-11-25 03:36 +0000
Message-ID<slrno3fcdr.nqp.spamtrap42@one.localnet>
In reply to#13400
On 2016-11-24, Jeff Jonas <jeffj@panix.com> wrote:
>>> That's part of the 'culture shock' of going to pure RISC.
>>> Only one memory access per instruction.
>>> No memory to memory accesses, searches, etc.
>
>> old-school assembly programmers were used to that,
>> particularly on things like 6502 and really old minicomputers
>> that only had accumulators and index registers.
>
> The 6502 was not so bad.
> It had fewer registers than the Motorola 6800
> to reduce die size and complexity, thus the lower cost
> but it still had index registers that could be used
> almost as well as general purpose registers.
>
> It even had SOME memory-to-memory operations.
> Citing http://forum.6502.org/viewtopic.php?t=2
>
>     Read-modify-write instructions (like INC)
>     read the original data, write it back, and then write the modified data.
>
> -- jeffj

I was told a different reason the 6502 has fewer registers and
such than the 6800--IIRC, either in class or in conversation
while I was in college.  I was told that the 6502 originally was
going to have wider (16-bit, IIUC) index registers and more
instructions, but Motorola threatened to sue because of
similarity to either the 6800 or 6809, and the 6502 feature set
was reduced to avoid being sued.  IIUC, some of the 6502
designers had worked at Motorola, and Motorola claimed they were
taking Motorola IP in the original design of the 6502.

My experience was that after programming the 6809 with its 16-bit
index registers, the 6502 was underwhelming.  One time, I coded
up a homework assignment in assembler for 6502, 6800, and 6809.
The 6502 took the largest number of instructions.  The 6800 took
two-thirds as many as the 6502.  The 6809 took half as many as
the 6502.

HTH

-- 
Robert Riches
spamtrap42@jacob21819.net
(Yes, that is one of my email addresses.)

[toc] | [prev] | [next] | [standalone]


#13408

FromMichael J. Mahon <mjmahon@aol.com>
Date2016-11-24 23:31 -0600
Message-ID<QqydnQsamLcLUarFnZ2dnUU7-cPNnZ2d@giganews.com>
In reply to#13407
Robert Riches <spamtrap42@jacob21819.net> wrote:
> On 2016-11-24, Jeff Jonas <jeffj@panix.com> wrote:
>>>> That's part of the 'culture shock' of going to pure RISC.
>>>> Only one memory access per instruction.
>>>> No memory to memory accesses, searches, etc.
>> 
>>> old-school assembly programmers were used to that,
>>> particularly on things like 6502 and really old minicomputers
>>> that only had accumulators and index registers.
>> 
>> The 6502 was not so bad.
>> It had fewer registers than the Motorola 6800
>> to reduce die size and complexity, thus the lower cost
>> but it still had index registers that could be used
>> almost as well as general purpose registers.
>> 
>> It even had SOME memory-to-memory operations.
>> Citing http://forum.6502.org/viewtopic.php?t=2
>> 
>> Read-modify-write instructions (like INC)
>> read the original data, write it back, and then write the modified data.
>> 
>> -- jeffj
> 
> I was told a different reason the 6502 has fewer registers and
> such than the 6800--IIRC, either in class or in conversation
> while I was in college.  I was told that the 6502 originally was
> going to have wider (16-bit, IIUC) index registers and more
> instructions, but Motorola threatened to sue because of
> similarity to either the 6800 or 6809, and the 6502 feature set
> was reduced to avoid being sued.  IIUC, some of the 6502
> designers had worked at Motorola, and Motorola claimed they were
> taking Motorola IP in the original design of the 6502.

I never heard that. And as I understand it, the one suit filed by Motorola
was against the 6500, for being pin-compatible with the 6800. MOS
Technology changed the pinout and the lawsuit was dropped and the 6502 was
born. 

> My experience was that after programming the 6809 with its 16-bit
> index registers, the 6502 was underwhelming.  One time, I coded
> up a homework assignment in assembler for 6502, 6800, and 6809.
> The 6502 took the largest number of instructions.  The 6800 took
> two-thirds as many as the 6502.  The 6809 took half as many as
> the 6502.

Much depends on how data is laid out.

In my experience, it is seldom necessary to index beyond 255 bytes if the
data is structured appropriately for the 6502. It is helpful to think of
page zero as 128 16-bit registers. ;-)

Then there's the fact that the 6502 executes instructions in very few
cycles compared to its contemporaries...
-- 
-michael - NadaNet 3.1 and AppleCrate II:  http://michaeljmahon.com

[toc] | [prev] | [next] | [standalone]


#13411

Fromalister <alister.ware@ntlworld.com>
Date2016-11-25 12:42 +0000
Message-ID<4lWZz.68921$a14.33588@fx45.am4>
In reply to#13408
On Thu, 24 Nov 2016 23:31:02 -0600, Michael J. Mahon wrote:

> Robert Riches <spamtrap42@jacob21819.net> wrote:
>> On 2016-11-24, Jeff Jonas <jeffj@panix.com> wrote:
>>>>> That's part of the 'culture shock' of going to pure RISC.
>>>>> Only one memory access per instruction.
>>>>> No memory to memory accesses, searches, etc.
>>> 
>>>> old-school assembly programmers were used to that, particularly on
>>>> things like 6502 and really old minicomputers that only had
>>>> accumulators and index registers.
>>> 
>>> The 6502 was not so bad.
>>> It had fewer registers than the Motorola 6800 to reduce die size and
>>> complexity, thus the lower cost but it still had index registers that
>>> could be used almost as well as general purpose registers.
>>> 
>>> It even had SOME memory-to-memory operations.
>>> Citing http://forum.6502.org/viewtopic.php?t=2
>>> 
>>> Read-modify-write instructions (like INC)
>>> read the original data, write it back, and then write the modified
>>> data.
>>> 
>>> -- jeffj
>> 
>> I was told a different reason the 6502 has fewer registers and such
>> than the 6800--IIRC, either in class or in conversation while I was in
>> college.  I was told that the 6502 originally was going to have wider
>> (16-bit, IIUC) index registers and more instructions, but Motorola
>> threatened to sue because of similarity to either the 6800 or 6809, and
>> the 6502 feature set was reduced to avoid being sued.  IIUC, some of
>> the 6502 designers had worked at Motorola, and Motorola claimed they
>> were taking Motorola IP in the original design of the 6502.
> 
> I never heard that. And as I understand it, the one suit filed by
> Motorola was against the 6500, for being pin-compatible with the 6800.
> MOS Technology changed the pinout and the lawsuit was dropped and the
> 6502 was born.
> 
>> My experience was that after programming the 6809 with its 16-bit index
>> registers, the 6502 was underwhelming.  One time, I coded up a homework
>> assignment in assembler for 6502, 6800, and 6809. The 6502 took the
>> largest number of instructions.  The 6800 took two-thirds as many as
>> the 6502.  The 6809 took half as many as the 6502.
> 
> Much depends on how data is laid out.
> 
> In my experience, it is seldom necessary to index beyond 255 bytes if
> the data is structured appropriately for the 6502. It is helpful to
> think of page zero as 128 16-bit registers. ;-)
> 
> Then there's the fact that the 6502 executes instructions in very few
> cycles compared to its contemporaries...

indeed a 6502 running at only 1mhz (as used by Commodore) could certainly 
equal if not outperform a z80 runinig @4 mhz
The BBC @2 mhz was a blisteringly fast machine of the day.




-- 
O Lord, grant that we may always be right, for Thou knowest we will
never change our minds.

[toc] | [prev] | [next] | [standalone]


#13412

FromThe Natural Philosopher <tnp@invalid.invalid>
Date2016-11-25 13:14 +0000
Message-ID<o19df3$ask$1@news.albasani.net>
In reply to#13411
On 25/11/16 12:42, alister wrote:
> a 6502 running at only 1mhz (as used by Commodore) could certainly
> equal if not outperform a z80 runinig @4 mhz

Not in my experience, but there ya go. Depends on what it was running


-- 
Canada is all right really, though not for the whole weekend.

"Saki"

[toc] | [prev] | [next] | [standalone]


#13417

FromRobert Riches <spamtrap42@jacob21819.net>
Date2016-11-26 01:05 +0000
Message-ID<slrno3hnu8.o84.spamtrap42@one.localnet>
In reply to#13408
On 2016-11-25, Michael J  Mahon <mjmahon@aol.com> wrote:
> Robert Riches <spamtrap42@jacob21819.net> wrote:
>> On 2016-11-24, Jeff Jonas <jeffj@panix.com> wrote:
>>>>> That's part of the 'culture shock' of going to pure RISC.
>>>>> Only one memory access per instruction.
>>>>> No memory to memory accesses, searches, etc.
>>> 
>>>> old-school assembly programmers were used to that,
>>>> particularly on things like 6502 and really old minicomputers
>>>> that only had accumulators and index registers.
>>> 
>>> The 6502 was not so bad.
>>> It had fewer registers than the Motorola 6800
>>> to reduce die size and complexity, thus the lower cost
>>> but it still had index registers that could be used
>>> almost as well as general purpose registers.
>>> 
>>> It even had SOME memory-to-memory operations.
>>> Citing http://forum.6502.org/viewtopic.php?t=2
>>> 
>>> Read-modify-write instructions (like INC)
>>> read the original data, write it back, and then write the modified data.
>>> 
>>> -- jeffj
>> 
>> I was told a different reason the 6502 has fewer registers and
>> such than the 6800--IIRC, either in class or in conversation
>> while I was in college.  I was told that the 6502 originally was
>> going to have wider (16-bit, IIUC) index registers and more
>> instructions, but Motorola threatened to sue because of
>> similarity to either the 6800 or 6809, and the 6502 feature set
>> was reduced to avoid being sued.  IIUC, some of the 6502
>> designers had worked at Motorola, and Motorola claimed they were
>> taking Motorola IP in the original design of the 6502.
>
> I never heard that. And as I understand it, the one suit filed by Motorola
> was against the 6500, for being pin-compatible with the 6800. MOS
> Technology changed the pinout and the lawsuit was dropped and the 6502 was
> born. 
>
>>...

Ahhhhh, the pin-compatibility issue must be the story with the
lawsuit issue--more a matter of the edge of the chip than the
inner workings and instruction set.  Thanks for that level of
detail I had not been aware of.

-- 
Robert Riches
spamtrap42@jacob21819.net
(Yes, that is one of my email addresses.)

[toc] | [prev] | [next] | [standalone]


#13421

FromThe Natural Philosopher <tnp@invalid.invalid>
Date2016-11-26 11:28 +0000
Message-ID<o1brkv$rsk$1@news.albasani.net>
In reply to#13417
On 26/11/16 01:05, Robert Riches wrote:
> On 2016-11-25, Michael J  Mahon <mjmahon@aol.com> wrote:
>> Robert Riches <spamtrap42@jacob21819.net> wrote:
>>> On 2016-11-24, Jeff Jonas <jeffj@panix.com> wrote:
>>>>>> That's part of the 'culture shock' of going to pure RISC.
>>>>>> Only one memory access per instruction.
>>>>>> No memory to memory accesses, searches, etc.
>>>>
>>>>> old-school assembly programmers were used to that,
>>>>> particularly on things like 6502 and really old minicomputers
>>>>> that only had accumulators and index registers.
>>>>
>>>> The 6502 was not so bad.
>>>> It had fewer registers than the Motorola 6800
>>>> to reduce die size and complexity, thus the lower cost
>>>> but it still had index registers that could be used
>>>> almost as well as general purpose registers.
>>>>
>>>> It even had SOME memory-to-memory operations.
>>>> Citing http://forum.6502.org/viewtopic.php?t=2
>>>>
>>>> Read-modify-write instructions (like INC)
>>>> read the original data, write it back, and then write the modified data.
>>>>
>>>> -- jeffj
>>>
>>> I was told a different reason the 6502 has fewer registers and
>>> such than the 6800--IIRC, either in class or in conversation
>>> while I was in college.  I was told that the 6502 originally was
>>> going to have wider (16-bit, IIUC) index registers and more
>>> instructions, but Motorola threatened to sue because of
>>> similarity to either the 6800 or 6809, and the 6502 feature set
>>> was reduced to avoid being sued.  IIUC, some of the 6502
>>> designers had worked at Motorola, and Motorola claimed they were
>>> taking Motorola IP in the original design of the 6502.
>>
>> I never heard that. And as I understand it, the one suit filed by Motorola
>> was against the 6500, for being pin-compatible with the 6800. MOS
>> Technology changed the pinout and the lawsuit was dropped and the 6502 was
>> born.
>>
>>> ...
>
> Ahhhhh, the pin-compatibility issue must be the story with the
> lawsuit issue--more a matter of the edge of the chip than the
> inner workings and instruction set.  Thanks for that level of
> detail I had not been aware of.
>

Wiki:

Motorola lawsuit

The 6501/6502 introduction in print and at Wescon was an enormous 
success. The downside was the extensive press coverage got Motorola's 
attention. In October 1975, Motorola reduced the price of a single 6800 
microprocessor from $175 to $69. The $300 system design kit was reduced 
to $150 and it now came with a printed circuit board.[40] On November 3, 
1975, Motorola sought an injunction in Federal Court to stop MOS 
Technology from making and selling microprocessor products. They also 
filed a lawsuit claiming patent infringement and misappropriation of 
trade secrets. Motorola claimed that seven former employees joined MOS 
Technology to create that company's microprocessor products.[41]

Motorola was a billion-dollar company with a plausible case and lawyers. 
On October 30, 1974, Motorola had filed numerous patent applications on 
the microprocessor family and was granted twenty-five patents. The first 
was in June 1976 and the second was to Bill Mensch on July 6, 1976 for 
the 6820 PIA chip layout. These patents covered the 6800 bus and how the 
peripheral chips interfaced with the microprocessor.[42] Motorola began 
making transistors in 1950 and had a portfolio of semiconductor patents. 
Allen-Bradley decided not to fight this case and sold their interest in 
MOS Technology back to the founders. Four of the former Motorola 
engineers were named in the suit: Chuck Peddle, Will Mathys, Bill Mensch 
and Rod Orgill. All were named inventors in the 6800 patent 
applications. During the discovery process, Motorola found that one 
engineer, Mike James, had ignored Peddle's instructions and brought his 
6800 design documents to MOS Technology.[43] In March 1976, the now 
independent MOS Technology was running out of money and had to settle 
the case. They agreed to drop the 6501 processor, pay Motorola $200,000 
and return the documents that Motorola contended were confidential. Both 
companies agreed to cross-license microprocessor patents.[44] That May, 
Motorola dropped the price of a single 6800 microprocessor to $35. By 
November Commodore had acquired MOS Technology.[45][46]



-- 
You can get much farther with a kind word and a gun than you can with a 
kind word alone.

Al Capone

[toc] | [prev] | [next] | [standalone]


#13431

FromRobert Riches <spamtrap42@jacob21819.net>
Date2016-11-27 03:32 +0000
Message-ID<slrno3kkun.d1p.spamtrap42@one.localnet>
In reply to#13421
On 2016-11-26, The Natural Philosopher <tnp@invalid.invalid> wrote:
> On 26/11/16 01:05, Robert Riches wrote:
>> On 2016-11-25, Michael J  Mahon <mjmahon@aol.com> wrote:
>>> Robert Riches <spamtrap42@jacob21819.net> wrote:
>>>> On 2016-11-24, Jeff Jonas <jeffj@panix.com> wrote:
>>>>>>> That's part of the 'culture shock' of going to pure RISC.
>>>>>>> Only one memory access per instruction.
>>>>>>> No memory to memory accesses, searches, etc.
>>>>>
>>>>>> old-school assembly programmers were used to that,
>>>>>> particularly on things like 6502 and really old minicomputers
>>>>>> that only had accumulators and index registers.
>>>>>
>>>>> The 6502 was not so bad.
>>>>> It had fewer registers than the Motorola 6800
>>>>> to reduce die size and complexity, thus the lower cost
>>>>> but it still had index registers that could be used
>>>>> almost as well as general purpose registers.
>>>>>
>>>>> It even had SOME memory-to-memory operations.
>>>>> Citing http://forum.6502.org/viewtopic.php?t=2
>>>>>
>>>>> Read-modify-write instructions (like INC)
>>>>> read the original data, write it back, and then write the modified data.
>>>>>
>>>>> -- jeffj
>>>>
>>>> I was told a different reason the 6502 has fewer registers and
>>>> such than the 6800--IIRC, either in class or in conversation
>>>> while I was in college.  I was told that the 6502 originally was
>>>> going to have wider (16-bit, IIUC) index registers and more
>>>> instructions, but Motorola threatened to sue because of
>>>> similarity to either the 6800 or 6809, and the 6502 feature set
>>>> was reduced to avoid being sued.  IIUC, some of the 6502
>>>> designers had worked at Motorola, and Motorola claimed they were
>>>> taking Motorola IP in the original design of the 6502.
>>>
>>> I never heard that. And as I understand it, the one suit filed by Motorola
>>> was against the 6500, for being pin-compatible with the 6800. MOS
>>> Technology changed the pinout and the lawsuit was dropped and the 6502 was
>>> born.
>>>
>>>> ...
>>
>> Ahhhhh, the pin-compatibility issue must be the story with the
>> lawsuit issue--more a matter of the edge of the chip than the
>> inner workings and instruction set.  Thanks for that level of
>> detail I had not been aware of.
>>
>
> Wiki:
>
> Motorola lawsuit
>
> The 6501/6502 introduction in print and at Wescon was an enormous 
> success. The downside was the extensive press coverage got Motorola's 
> attention. In October 1975, Motorola reduced the price of a single 6800 
> microprocessor from $175 to $69. The $300 system design kit was reduced 
> to $150 and it now came with a printed circuit board.[40] On November 3, 
> 1975, Motorola sought an injunction in Federal Court to stop MOS 
> Technology from making and selling microprocessor products. They also 
> filed a lawsuit claiming patent infringement and misappropriation of 
> trade secrets. Motorola claimed that seven former employees joined MOS 
> Technology to create that company's microprocessor products.[41]
>
> Motorola was a billion-dollar company with a plausible case and lawyers. 
> On October 30, 1974, Motorola had filed numerous patent applications on 
> the microprocessor family and was granted twenty-five patents. The first 
> was in June 1976 and the second was to Bill Mensch on July 6, 1976 for 
> the 6820 PIA chip layout. These patents covered the 6800 bus and how the 
> peripheral chips interfaced with the microprocessor.[42] Motorola began 
> making transistors in 1950 and had a portfolio of semiconductor patents. 
> Allen-Bradley decided not to fight this case and sold their interest in 
> MOS Technology back to the founders. Four of the former Motorola 
> engineers were named in the suit: Chuck Peddle, Will Mathys, Bill Mensch 
> and Rod Orgill. All were named inventors in the 6800 patent 
> applications. During the discovery process, Motorola found that one 
> engineer, Mike James, had ignored Peddle's instructions and brought his 
> 6800 design documents to MOS Technology.[43] In March 1976, the now 
> independent MOS Technology was running out of money and had to settle 
> the case. They agreed to drop the 6501 processor, pay Motorola $200,000 
> and return the documents that Motorola contended were confidential. Both 
> companies agreed to cross-license microprocessor patents.[44] That May, 
> Motorola dropped the price of a single 6800 microprocessor to $35. By 
> November Commodore had acquired MOS Technology.[45][46]

Thanks for even more information, apparently pasted from here:

    https://en.wikipedia.org/wiki/MOS_Technology_6502

Right above the above-quoted section is a summary of the pinouts
of the 6800, 6501, and 6502.

The line about Motorola having dropped the 6800 price to $35.00
brings back an old memory.  IIRC, I paid $38.50 for a 6800 from
Sphere Computer in Bountiful, Utah during the summer of 1976.  I
never got a system built to put it in.

Thanks again for the additional info.

-- 
Robert Riches
spamtrap42@jacob21819.net
(Yes, that is one of my email addresses.)

[toc] | [prev] | [next] | [standalone]


#13434

FromThe Natural Philosopher <tnp@invalid.invalid>
Date2016-11-27 12:01 +0000
Message-ID<o1ehvh$lbh$1@news.albasani.net>
In reply to#13431
On 27/11/16 03:32, Robert Riches wrote:
> On 2016-11-26, The Natural Philosopher <tnp@invalid.invalid> wrote:
>> On 26/11/16 01:05, Robert Riches wrote:
>>> On 2016-11-25, Michael J  Mahon <mjmahon@aol.com> wrote:
>>>> Robert Riches <spamtrap42@jacob21819.net> wrote:
>>>>> On 2016-11-24, Jeff Jonas <jeffj@panix.com> wrote:
>>>>>>>> That's part of the 'culture shock' of going to pure RISC.
>>>>>>>> Only one memory access per instruction.
>>>>>>>> No memory to memory accesses, searches, etc.
>>>>>>
>>>>>>> old-school assembly programmers were used to that,
>>>>>>> particularly on things like 6502 and really old minicomputers
>>>>>>> that only had accumulators and index registers.
>>>>>>
>>>>>> The 6502 was not so bad.
>>>>>> It had fewer registers than the Motorola 6800
>>>>>> to reduce die size and complexity, thus the lower cost
>>>>>> but it still had index registers that could be used
>>>>>> almost as well as general purpose registers.
>>>>>>
>>>>>> It even had SOME memory-to-memory operations.
>>>>>> Citing http://forum.6502.org/viewtopic.php?t=2
>>>>>>
>>>>>> Read-modify-write instructions (like INC)
>>>>>> read the original data, write it back, and then write the modified data.
>>>>>>
>>>>>> -- jeffj
>>>>>
>>>>> I was told a different reason the 6502 has fewer registers and
>>>>> such than the 6800--IIRC, either in class or in conversation
>>>>> while I was in college.  I was told that the 6502 originally was
>>>>> going to have wider (16-bit, IIUC) index registers and more
>>>>> instructions, but Motorola threatened to sue because of
>>>>> similarity to either the 6800 or 6809, and the 6502 feature set
>>>>> was reduced to avoid being sued.  IIUC, some of the 6502
>>>>> designers had worked at Motorola, and Motorola claimed they were
>>>>> taking Motorola IP in the original design of the 6502.
>>>>
>>>> I never heard that. And as I understand it, the one suit filed by Motorola
>>>> was against the 6500, for being pin-compatible with the 6800. MOS
>>>> Technology changed the pinout and the lawsuit was dropped and the 6502 was
>>>> born.
>>>>
>>>>> ...
>>>
>>> Ahhhhh, the pin-compatibility issue must be the story with the
>>> lawsuit issue--more a matter of the edge of the chip than the
>>> inner workings and instruction set.  Thanks for that level of
>>> detail I had not been aware of.
>>>
>>
>> Wiki:
>>
>> Motorola lawsuit
>>
>> The 6501/6502 introduction in print and at Wescon was an enormous
>> success. The downside was the extensive press coverage got Motorola's
>> attention. In October 1975, Motorola reduced the price of a single 6800
>> microprocessor from $175 to $69. The $300 system design kit was reduced
>> to $150 and it now came with a printed circuit board.[40] On November 3,
>> 1975, Motorola sought an injunction in Federal Court to stop MOS
>> Technology from making and selling microprocessor products. They also
>> filed a lawsuit claiming patent infringement and misappropriation of
>> trade secrets. Motorola claimed that seven former employees joined MOS
>> Technology to create that company's microprocessor products.[41]
>>
>> Motorola was a billion-dollar company with a plausible case and lawyers.
>> On October 30, 1974, Motorola had filed numerous patent applications on
>> the microprocessor family and was granted twenty-five patents. The first
>> was in June 1976 and the second was to Bill Mensch on July 6, 1976 for
>> the 6820 PIA chip layout. These patents covered the 6800 bus and how the
>> peripheral chips interfaced with the microprocessor.[42] Motorola began
>> making transistors in 1950 and had a portfolio of semiconductor patents.
>> Allen-Bradley decided not to fight this case and sold their interest in
>> MOS Technology back to the founders. Four of the former Motorola
>> engineers were named in the suit: Chuck Peddle, Will Mathys, Bill Mensch
>> and Rod Orgill. All were named inventors in the 6800 patent
>> applications. During the discovery process, Motorola found that one
>> engineer, Mike James, had ignored Peddle's instructions and brought his
>> 6800 design documents to MOS Technology.[43] In March 1976, the now
>> independent MOS Technology was running out of money and had to settle
>> the case. They agreed to drop the 6501 processor, pay Motorola $200,000
>> and return the documents that Motorola contended were confidential. Both
>> companies agreed to cross-license microprocessor patents.[44] That May,
>> Motorola dropped the price of a single 6800 microprocessor to $35. By
>> November Commodore had acquired MOS Technology.[45][46]
>
> Thanks for even more information, apparently pasted from here:
>
>     https://en.wikipedia.org/wiki/MOS_Technology_6502

Sorry, forgot to post the link.

It wasn't meant to necessarily dis any previous posts, more to point out 
that as with most things, what we retain in memory is often simplistic 
and partial, whereas the real situation is usually far more shaded and 
complex.

A habit that is exploited to the full by those  involved in marketing - 
especially political marketing.

However, I digress...

>
> Right above the above-quoted section is a summary of the pinouts
> of the 6800, 6501, and 6502.
>
> The line about Motorola having dropped the 6800 price to $35.00
> brings back an old memory.  IIRC, I paid $38.50 for a 6800 from
> Sphere Computer in Bountiful, Utah during the summer of 1976.  I
> never got a system built to put it in.
>
We all have rooms full of stuff like that...

> Thanks again for the additional info.
>


-- 
Karl Marx said religion is the opium of the people.
But Marxism is the crack cocaine.

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | comp.sys.raspberry-pi


csiph-web