I found an interesting article on ASM instructions and certain instructions that assess penalties for doing certain things on certain machine sets (eg. 486 and 586) and well i want to ask 2 questions

:stupid: a) is 586 the 64 Bit Architecture structure or is it still 32 bit

:stupid: b) The person said that Loop is a big Penalizer and to not use it unless absolutely necessary. So would it be faster to use say a dec ecx and then a je ToBegProcedure (assuming that the dec ecx sets the 0 flag )

if i can run across the article again i will post it cause that guy new what he was talking about.. :alright:
Posted on 2002-03-16 07:22:39 by Volcano_88101
586 = pentium = 32bit
dec ecx / jnz loopAgain
Posted on 2002-03-16 07:41:47 by f0dder
Cool.. I just wanted to make sure :P :) now i know 1 mistake i have made and 1 thing i need to rectify.

My C++ Compiler allows me to create code for 386/486/pentium pro/ need see if i can get it to dmake it for 586 only cause i dont care about 16 bit and what not lol

and I also know that the build of Linux i downloaded was not the right one heheeh:P

and what else oh yeah thanks for verifying the penalty. now i am probbably going tocreate a asm routine that executes a billion times and see how many penalties are afflicted on it..

:alright: :tongue: :tongue: :alright:


:stupid:
Posted on 2002-03-16 17:51:24 by Volcano_88101
CPU Precision Bus
8086 16 bit 16 bit
8088 16 bit 8 bit
80186 16 bit? 16 bit?
80286 16 bit 16 bit
80386SX 32 bit 16 bit
80386DX 32 bit 32 bit
80486 32 bit 32 bit
80586 32 bit 64 bit

I think this may be correct. :alright:

Dig :)
Posted on 2002-03-17 01:49:32 by dig
Volcano,

On most later processors, the LOOPxx family of mnemonics are very slow and you almost exclusively get faster code using an incremented pointer.

Also beware of string instructions that do NOT use the REP prefix, they are slow as well, the exceptions with string instructions when used with the REP prefix is MOVS and LODS which perform reasonably well on later processors.

Stay away from JCXZ/JECXZ as they are also slow. The general drift is to use smaller instructions than the complex ones as you get better pairing with the instructions.

Have PHUN.

hutch@movsd.com
Posted on 2002-03-17 02:38:48 by hutch--