34 alternatives of asm "clr"

Go To Last Post
60 posts / 0 new

Pages

Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I was wondering - how many methods there are to clear an 8-bit register. Strictly speaking:
How many distinguishable asm opcodes can modify in one asm op-code command a nonzero 8-bit register into 0x00 state.

I found 34 commands (ver 1.15), although most of them is not as universal as "clr" - some additional constrains apply. For example we can clear any register with "inc" command if the register has a known at compile time value of 0xFF.

https://www.avrfreaks.net/modules/PNphpBB2/files/clear_register_705.pdf

Any comments (error reports, suggestions) are welcome. Please use reference number of a method and mnemonic from the spreadsheet for easier tracking.

Attachment(s): 

No RSTDISBL, no fun!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What is the purpose of this exercise?

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Purpose?
Sheer joy...
Some like to run LED's w/o resistors.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I wonder how many ways there are to utilize time & do nothing useful. :)

Charles Darwin, Lord Kelvin & Murphy are always lurking about!
Lee -.-
Riddle me this...How did the serpent move around before the fall?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
I found 34 commands (ver 1.15), although most of them is not as universal as "clr" - some additional constrains apply. For example we can clear any register with "inc" command if the register has a known at compile time value of 0xFF.

CLR Rd (which is in reality a EOR Rd,Rd), the only one that you will ever need, and no need to bother with constraints of any sort.
Quote:
What is the purpose of this exercise?
Absolutely, positively, nothing.

Regards,
Steve A.

The Board helps those that help themselves.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
I wonder how many ways there are to utilize time & do nothing useful.

With apologies to Elizabeth Barrett Browning:
Quote:
Ode to Time

How do I waste thee? Let me count the ways.
I waste thee finding opcodes and making endless lists
That others read, when feeling that their eyes
Hath lost their mindless glaze.
I waste thee and thus exclude everyday's
Most quiet need, by sun and candle-light.
I waste thee freely, as men strive for Right;
I waste thee purely, as they turn from Praise.
I waste thee with a passion put to use
In my old code, and with my childhood's faith.
I waste thee with a skill I seemed to lose
With my lost youth, --- I waste thee with the breath,
Smiles, tears, of all my life! --- and, if God choose,
I shall but waste thee better after death.

Chuck Baird

"I wish I were dumber so I could be more certain about my opinions. It looks fun." -- Scott Adams

http://www.cbaird.org

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

CHuck,

I keep asking myself how would code written by you look like?
specially the comments....

do you use lyrics (? poems perhaps) also as comments in your source code or not?

2LdeVries: add that one to the list :)

regards

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
do you use lyrics (? poems perhaps) also as comments in your source code or not?

No, alas, they're pretty boring. I've actually posted quite a bit of code as projects if you want to see some. Sometimes bad puns do slip into the comments.

I'm just a smart ass with too much free time and a lack of good sense. Fortunately harmless though, so I don't have to be institutionalized.

Chuck Baird

"I wish I were dumber so I could be more certain about my opinions. It looks fun." -- Scott Adams

http://www.cbaird.org

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

[quote="zbaird
I'm just a smart ass with too much free time and a lack of good sense. Fortunately harmless though, so I don't have to be institutionalized.

that is always better than the other way around. And also that is what makes your posts fun to read :) I always wonder what you have answered on a post when I see you have responded.
Eventhough I do not always understand them as for me the word choice is not always clear.

Have Fun

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Purpose?
Sheer joy...
Some like to run LED's w/o resistors.

How did you know that? I never use resistors if IO current is not violating specification parameters. But it is not that I like it - simply I do not own resistors with values below 0 ohms.

The reason:

Quote:
Absolutely, positively, nothing.

No, the reason of "34 alternatives" is that sometimes I need to clear a register, modify/not modify SREG or other registers, or even tailor execution times. Theese can be made in one asm command if some requirements are met.

No RSTDISBL, no fun!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

I keep asking myself how would code written by you look like?

I thought that WAS one of Chuck's programs. Like all good programmers he ONLY uses Shakespeare. Here's the "Hello World" program to give you the idea:

http://shakespearelang.sourcefor...

Shakespeare wrote:
The Infamous Hello World Program.

Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.

Act I: Hamlet's insults and flattery.

Scene I: The insulting of Romeo.

[Enter Hamlet and Romeo]

Hamlet:
You lying stupid fatherless big smelly half-witted coward!
You are as stupid as the difference between a handsome rich brave
hero and thyself! Speak your mind!

You are as brave as the sum of your fat little stuffed misused dusty
old rotten codpiece and a beautiful fair warm peaceful sunny summer's
day. You are as healthy as the difference between the sum of the
sweetest reddest rose and my father and yourself! Speak your mind!

You are as cowardly as the sum of yourself and the difference
between a big mighty proud kingdom and a horse. Speak your mind.

Speak your mind!

[Exit Romeo]

Scene II: The praising of Juliet.

[Enter Juliet]

Hamlet:
Thou art as sweet as the sum of the sum of Romeo and his horse and his
black cat! Speak thy mind!

[Exit Juliet]

Scene III: The praising of Ophelia.

[Enter Ophelia]

Hamlet:
Thou art as lovely as the product of a large rural town and my amazing
bottomless embroidered purse. Speak thy mind!

Thou art as loving as the product of the bluest clearest sweetest sky
and the sum of a squirrel and a white horse. Thou art as beautiful as
the difference between Juliet and thyself. Speak thy mind!

[Exeunt Ophelia and Hamlet]

Act II: Behind Hamlet's back.

Scene I: Romeo and Juliet's conversation.

[Enter Romeo and Juliet]

Romeo:
Speak your mind. You are as worried as the sum of yourself and the
difference between my small smooth hamster and my nose. Speak your
mind!

Juliet:
Speak YOUR mind! You are as bad as Hamlet! You are as small as the
difference between the square of the difference between my little pony
and your big hairy hound and the cube of your sorry little
codpiece. Speak your mind!

[Exit Romeo]

Scene II: Juliet and Ophelia's conversation.

[Enter Ophelia]

Juliet:
Thou art as good as the quotient between Romeo and the sum of a small
furry animal and a leech. Speak your mind!

Ophelia:
Thou art as disgusting as the quotient between Romeo and twice the
difference between a mistletoe and an oozing infected blister! Speak
your mind!

[Exeunt]


(that's the first time I've been able to use "Shakespeare wrote" on this board! :-))

[note: no messy % problems in this programming language]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

BTW to clear a variable use something like:

Romeo can be a rose sometimes and a real turd at others.

(rose=+1, turd=-1, Romeo=+1-1=0 )

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
How did you know that? I never use resistors if IO current is not violating specification parameters.

I was actually thinking about an old thread that pooped(freudian misspelling) up like a ghost yesterday.
OTOH, I'm not at all surprised after the discussion we had about using max speced current -1 in AVR's.

I've used ASM for AVR's a decade or so.
Never encountered scenarios where clearing a register made me wonder what opcode to use.
Normally I prefer
LDI reg,0
since it makes reading/debugging code easier than some convoluted solution saving a cycle.
I've stopped thinking about saving space or time, apart from the very few situations where it's critical.

To me it's more important to produce understandable code in reasonable time, not tearing my hair over the chance of shaving off a cycle or two.
Only real time saving in this area I can think of was when I learned to use a dedicated zero register many years ago.

YMMV

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I like to use the combination

DEC reg ; or INC reg
BRNE label

as a replacement for Z80's DJNZ (decrement and jump on non Z)

This is an example when you need to clear a register in another way then CLR. Although the main purpose is to find out if is cleared or not, not necessarily to clear it.

George.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Maybe we should concentrate on the most inefficient way to clear a register.

I recommend an indirect load from a 256 entry lookup table, using the register as an offset, with all table entries being zero.

Chuck Baird

"I wish I were dumber so I could be more certain about my opinions. It looks fun." -- Scott Adams

http://www.cbaird.org

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Maybe we should concentrate on the most inefficient way to clear a register.
My suggestion is to load a byte from flash, starting at flashend and moving backwards.
There's gotta be a bloody zero somewhere.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Getting into this late, I agree with Lennart. Scan through flash until you find a zero (by testing, of course), then load that zero into the register.

Or, you could use a quasi-random number generator and try, try, try again, until you come up with the zero to load into the register.

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How about a timer interrupt handler that checks the low 8 bits of the return address (on the stack) for a zero value, then loads that when it finds it?

Chuck Baird

"I wish I were dumber so I could be more certain about my opinions. It looks fun." -- Scott Adams

http://www.cbaird.org

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Koshchi :

Quote:
CLR Rd (which is in reality a EOR Rd,Rd), the only one that you will ever need, and no need to bother with constraints of any sort.

No in my code there two ways

 
eor rx,rx ;change flags

mov rx,Zero_reg ; no flags changed (I allways keep r15=0)
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How about running in an endless loop and waiting for some cosmic radiation resetting the register to zero?

Stealing Proteus doesn't make you an engineer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

zbaird wrote:
Maybe we should concentrate on the most inefficient way to clear a register.
And when we find it, we can suggest it to the HI-TECH PIC compiler guys. Yes, guilty, I recently dabbled into that. I noticed that they intentionally make their Lite version, in particular, zeroing a register, inefficient. We can suggest them something even more inefficient.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
We can suggest them something even more inefficient.

Such as
.equ  r0  =PICvalue
.equ  r1  =AVRValue
loop:
   cp     r0,r1
   brsh   end_of_world
   rjmp   loop

end_of_world:
   clr   r0
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Using C of course, set up a CTC Timer interrupt with a pre-scaler divide of at least 256, and when interrupt occurs, load the COUNTER value and return it to the calling routine.
If it is desired to waste a little more programmers time do it in asm.

Charles Darwin, Lord Kelvin & Murphy are always lurking about!
Lee -.-
Riddle me this...How did the serpent move around before the fall?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Guys, I understand you do not treat the subject seriously. I will welcome all not listed methods for setting register state to 0x00 but in ONE asm command. Your propositions:

Quote:
set up a CTC Timer interrupt

Quote:
How about running in an endless loop

Quote:
CLR Rd (which is in reality a EOR Rd,Rd)

Quote:
How about a timer interrupt handler that checks the low 8 bits

..do not touch the subject of this post. I thought the subject is precise enough. Please start a new post in "Off-topic" section and have fun there - it seems you do not want to help or you do not understand registers can be set to 0x00 in several ways.

No RSTDISBL, no fun!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
you do not understand registers can be set to 0x00 in several ways.

https://www.avrfreaks.net/index.p...

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
- it seems you do not want to help or you do not understand registers can be set to 0x00 in several ways.
Please excuse that most of us have very little experience and are unable to understand.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't understand what the point is. Do some of these take less code space or execute faster?

Clearly, without a doubt, there are MANY ways that a register can end up being zero. Just as there are many ways that a register can end up with 0x3e or 0xF1. In this sense, there is nothing unique about zero. Except that, very few of the other ways are GUARANTEED to generate a zero without condition (like incrementing from 0xFF). So, watching code execute in the debugger and realizing: "hey, that register has a zero in it" should be no more surprising than "hey, that register has 0x01".

One could, with equal validity, create a table of ways to generate 0x7f. Or for that matter, 254 more tables for all the 256 bit combinations that will fit in an 8 bit register.

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
it seems you do not want to help or you do not understand registers can be set to 0x00 in several ways

Diogenes was busy so I'm carrying around a lit LED looking for someone who cares.

Quote:
He used to stroll about in full daylight with a lamp; when asked what he was doing, he would answer, "I am just looking for an honest man." Diogenes looked for a human being but reputedly found nothing but rascals and scoundrels.

Chuck Baird

"I wish I were dumber so I could be more certain about my opinions. It looks fun." -- Scott Adams

http://www.cbaird.org

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

hmmm I wonder how many ways are there to set a register to 0xff.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am having a hard time thinking of a single-word, single-cycle instruction. Must be something. THATS more of a challenge! Especially if it has to be any of the r-registers. LDI Rd,0xff works only in the upper 16 registers.

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

SER?? :wink: but it still works with the top 16 registers only.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

but SER is LDI Rd,0xff !!!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

And if I want FF on a low reg I use

mov Rx,ZERO_REG
dec Rx

That way I don't need to change any high reg's
The C compiler would do something like
SER,r24 ;same as LDI r24,0xFF
MOV rx,r24

Sorry that this is not about zero.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

mov Rx,ZERO_REG

Just to note that this is the single cycle technique that C compilers also use when they need 0 in a register. Obviously it "costs" one of the 32 registers to keep one that always contains 0.

(rather sadly GCC uses R1 for this - it was picked before AVRs with MUL came along)

PS for R16..31 I guess ANDI Rn,0 is one way.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
but SER is LDI Rd,0xff !!!
They are 2 different instructions. SER has fixed data, LDI has variable data.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Only way I can think off loading r0-r31 in one cycle would be if you sacrifice one of the low registers to hold 0xFF similar to using a dedicated zero reg.
Is that cheating?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
One could, with equal validity, create a table of ways to generate 0x3f.

You can have your own post on 0x3F if you want. Zeroing register is the most helpful, having vast number of methods. Setting register to any other value is a subset of these methods (with additional "sbr" and "neg" commands).

Quote:
Sorry that this is not about zero.

And not about ONE instruction method.

Quote:
PS for R16..31 I guess ANDI Rn,0 is one way.

Method #2.

Quote:
Obviously it "costs" one of the 32 registers to keep one that always contains 0.

Then you have a 31 register AVR. Wasting resources. Use method #28. 1clk, 1w, works on all registers. It does not change flags and is ready to work right after reset.

No RSTDISBL, no fun!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

To JS

Quote:
Quote:
but SER is LDI Rd,0xff !!!
They are 2 different instructions. SER has fixed data, LDI has variable data.

RTFM

SER is a special case for LDI where the value is FF

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

OK this is not 1 cycle but being an oddball I rather like:

CLC
CLH
CLI
CLN
CLS
CLT
CLV
CLZ
IN Rx, SREG

:lol:

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Wasting resources. Use method #28. 1clk, 1w, works on all registers.

The usefulness of having a zero register becomes obvious if you use STS as much as I do.
	sts	timsk0,zero		;disable TIMER 0
	sts	gsm_line,zero	;report GSM OFFLINE
	sts	shorted,zero	;reset SHORTED
	sts	missing,zero	;reset MISSING

Honestly, some of the low registers are used in far less locations in my code than the "sacrificed" zero reg.
Looking at my last produced code there are appx 300 instances where that zero reg shave off a cycle.
None of the other low registers are used more than 1/10 of that.
To me that's more utilizing than wasting resources.
As usual YMMV.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Brutte wrote:
it seems you do not want to help or you do not understand registers can be set to 0x00 in several ways.
You apparently didn't get the subtle hints. Your question is not interesting. If you want us to play you need to motivate us.

If you really need the fastest way to do this, fighting for every CPU cycle, then your need should be strong enough that you, on your own, can go through the opcodes with a fine brush to figure out a way. Because for us it is boring, and we don't have the need-

If it is just for fun. Well, your understanding of fun seems to be different than ours. We had fun.

If you want to dictate answers hire a consultant.

Stealing Proteus doesn't make you an engineer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Paul Simon 50 Ways To Leave Your Lover Lyrics

"The problem is all inside your head", she said to me
The answer is easy if you take it logically
I'd like to help you in your struggle to be free
There must be fifty ways to leave your lover

She said it's really not my habit to intrude
Furthermore, I hope my meaning won't be lost or misconstrued
But I'll repeat myself, at the risk of being crude
There must be fifty ways to leave your lover
Fifty ways to leave your lover

You just slip out the back, Jack
Make a new plan, Stan
You don't need to be coy, Roy
Just get yourself free
Hop on the bus, Gus
You don't need to discuss much
Just drop off the key, Lee
And get yourself free
...

Substitute "clear register" for "leave your lover". Leave in the part about "logically".

Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
You apparently didn't get the subtle hints. Your question is not interesting. If you want us to play you need to motivate us.

I love the collective mind at work in this forum.
Seems to me every subject/poster get a response that is appropriate.
Sometimes you get slapped at the back of your head.
Had this happen to me a couple of times and even if it did hurt at that moment I've learned something useful.
Many of the Freaks that lurk in this forum on a daily basis have been in business since the first invented computer came about. Some of them might even been there when it happened.
When they see a subject as pointless they WILL let you know. Whether you like it or not.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thats good! Never knew Paul Simon was a programmer!

Brutte seems to be missing the point of many of the responses. Yes, those 30-odd operations can end up with zero in a register, but they are dependent on pre-existing conditions. That makes those hardly more interesting than an operation that happens to leave 0xff in a register that had 0xfe in it, before the operation. All those others, you have to know the prior condition. Very few are guaranteed to zero a register no matter what, and those are the ones that ought to be "interesting". Its the difference between "it has to be zero, always" and "gee, it happens to be zero"!

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

Last Edited: Wed. Aug 4, 2010 - 04:33 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Could it be that Brutte is just RES under a different ID? :?:

@Brutte, for a bit of fun search out the previous threads that RES has started - they are always as "entertaining" as this one. :lol:

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Could it be that Brutte is just RES under a different ID?

That's funny right there (as Chuck puts it from time to time).
You guys crack me up!

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Last Edited: Wed. Aug 4, 2010 - 05:13 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Because for us it is boring, and we don't have the need-

If it is just for fun. Well, your understanding of fun seems to be different than ours. We had fun.

Arnold, with all my respect for your high technical skills:

Can you be more specific about "we" ?
Are you representing some specific people here ?
Are you an undercover moderator and I don't know ?
Do you own this forum ?

You may get bored, but note that this thread is in its third page already and people are willing to spend time to read and to write lyrics.

You could set up your own forum and you could implement a censorship system, so people would need your approval before to post.

But until then, let the moderators to do their job.

George.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You don't seriously expect an answer, do you?

Stealing Proteus doesn't make you an engineer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
That's funny right there (as Chuck puts it from time to time).

No, no, no - that was John Rountree (Alln), not me. You've accused me of this before, Johan. We need to zero that register in your head, if only we knew how.

(I guess we could use Brutte force)

Chuck Baird

"I wish I were dumber so I could be more certain about my opinions. It looks fun." -- Scott Adams

http://www.cbaird.org

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Interesting what Brutte does here without knowing it? Because some instructions are 16-bit others need the 22-bit PC to do something.
His table does not show the opcode spaces.
Via this kind of tables you can perhaps invent an AVR with only 16-bit (or less) opcodes, less complex die/chip? (SAVR, super advanced virtual RISC?)
Less Si, more speed, lower price.

RES

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Interesting what Brutte does here without knowing it? Because some instructions are 16-bit others need the 22-bit PC to do something. [...]

Interesting that you mix up the size of instructions with the size of the PC without understanding it. Sure you're not Brutte?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

Pages