January 08, 2019
On Monday, 7 January 2019 at 21:46:21 UTC, H. S. Teoh wrote:
> On Mon, Jan 07, 2019 at 08:41:32PM +0000, Patrick Schluter via Digitalmars-d-learn wrote:
>> On Monday, 7 January 2019 at 20:28:21 UTC, H. S. Teoh wrote:
>> > On Mon, Jan 07, 2019 at 08:06:17PM +0000, Patrick Schluter via Digitalmars-d-learn wrote:
> [...]
>> > > Up to 32 bit processors, shifting was more expensive than branching.
>> > 
>> > Really?  Haha, never knew that, even though I date all the way back to writing assembly on 8-bit processors. :-D
>> > 
>> Most of my career was programming for 80186. Shifting by one was 2 cycles in register and 15 in memory. Shifting by 4, 9 cycles for regs/21 for mem. And 80186 was a fast shifter compared to 8088/86 or 68000 (8+2n cycles).
>
> I used to hack 6502 assembly code.

Yeah, that's also what I started with, on the Apple II in the early 80s. I was quite surprized that my 6502 knowledge came in very handy when we worked on dial-in modems in the late 90s as the Rockwell modems all used 6502 derived micro-controllers for them.

> During the PC revolution I wrote an entire application in 8088 assembly.  Used to know many of the opcodes and cycle counts by heart like you do, but it's all but a faint memory now.

I had to lookup the exact cycle counts ;-) . I remember the relative costs, more or less, but not the details anymore.

January 08, 2019
On Tuesday, 8 January 2019 at 09:30:14 UTC, Patrick Schluter wrote:
>> During the PC revolution I wrote an entire application in 8088 assembly.  Used to know many of the opcodes and cycle counts by heart like you do, but it's all but a faint memory now.
>
> I had to lookup the exact cycle counts ;-) . I remember the relative costs, more or less, but not the details anymore.

Heh, I remember they had a friday-night trivia contest at the mid-90s students pub (for natural sciences) where one of the questions was the opcode for 6502 LDA (or was it NOP?), and I believe I got it right. The opcode for NOP is burned into my memory as $EA was used for erasing code during debugging in a monitor. And it was also the letters for the big game company Electronic Arts...

The cycle counts for 6502 are pretty easy though as they tend to be related to the addressing mode and most of them are in the range 1-5... No instruction for multiplication or division... Oh the fun...



January 08, 2019
On Tuesday, 8 January 2019 at 10:32:25 UTC, Ola Fosheim Grøstad wrote:
> On Tuesday, 8 January 2019 at 09:30:14 UTC, Patrick Schluter wrote:
>> [...]
>
> Heh, I remember they had a friday-night trivia contest at the mid-90s students pub (for natural sciences) where one of the questions was the opcode for 6502 LDA (or was it NOP?), and I believe I got it right. The opcode for NOP is burned into my memory as $EA was used for erasing code during debugging in a monitor. And it was also the letters for the big game company Electronic Arts...
>
> The cycle counts for 6502 are pretty easy though as they tend to be related to the addressing mode and most of them are in the range 1-5... No instruction for multiplication or division... Oh the fun...

2-7 cycles ;-)
January 08, 2019
On Tuesday, 8 January 2019 at 10:55:59 UTC, Patrick Schluter wrote:
>> The cycle counts for 6502 are pretty easy though as they tend to be related to the addressing mode and most of them are in the range 1-5... No instruction for multiplication or division... Oh the fun...
>
> 2-7 cycles ;-)

There you go, the last one in that series I touched was 6800 in 1990.

But it kinda make sense, the instructions were not pipelined, so even NOP takes 2 cycles... Another world really.


1 2
Next ›   Last »