Sometimes the answers to my puzzles cannot be found without the help of acomputer. I sometimes forget though that not everyone is an expert incomputer programming. Therefore, this week, as a special training excercise,a litlle programming puzzle. I designed a tiny and simple computer. With thehelp of this computer you should be able to solve this weeks puzzle aboutthe multiplication of two random numbers.

I am a little behind in administring your solutions to previous puzzles. Ido the best I can. Please keep sending them !

Have fun with the new puzzle!Wishing you a nice day,Regards,Peter http://home.planet.nl/~p.j.hendriks/ppvdw.htm + Union Jack

What means "the outshifted bit is temporarily placed in the Carry (X)" forthe shifting commands? How long means "temporarily"? I assume until thenext shift or the next jump command and the other commands doesn't changeit.

Another problem is the bit size of A, B and C. The example didn't workedwith my Common Lisp implementation of ESIC (seehttp://www.frank-buss.de/tmp/esic.lisp.txt ), because I have unlimited biginteger numbers (but replacing the last SAL by SAR fixed it).

The last problem is the initial state of the carry flag after BEG. I assumeit is cleared.

What means "the outshifted bit is temporarily placed in the Carry (X)" forthe shifting commands? How long means "temporarily"? I assume until thenext shift or the next jump command and the other commands doesn't changeit.

Does this have any bearing on the size of the smallest program? Only ifit does, do you have a genuine objection. (Note that this type ofambiguity is one that crops up in most real processors, and can often beused to detect which version of silicon a program is running on.)

I would admit, if "temporarily" were to mean that the value could not berelied on to be there for the immediately following instruction, therecould be a bit of a problem. The example, by being stated as a valid,functional program, which does its job as specified, clears up this"problem".

Post by Frank BussAnother problem is the bit size of A, B and C. The example didn't workedwith my Common Lisp implementation of ESIC (seehttp://www.frank-buss.de/tmp/esic.lisp.txt ), because I have unlimited biginteger numbers (but replacing the last SAL by SAR fixed it).

I think this is covered by the phrase "in size large enough for thepurpose of this puzzle". In fact, what you say is wrong anyway! Theexample DID "work". Your choice of implementation merely meant that youwould take an infinite amount of time and memory, during theinitialisation of the random values in the registers, before getting onto performing even the clearing of the C register. Obviously, aninfinite size for the registers is not suitable "for the purpose of thispuzzle".

Also, as above, the example must be taken as gospel.

Come to think of it, on S?L instructions, which bit did yourimplementation take to be the bit being shifted out?

Post by Frank BussThe last problem is the initial state of the carry flag after BEG. I assumeit is cleared.

Again, if this affects the solution, you have a point. If not, then itis not a problem. Assuming that it is cleared is probably the leastlikely case. RAM has a habit of being set (with a probabilistic tinge),rather than cleared.

Post by Laurence ReevesDoes this have any bearing on the size of the smallest program? Only ifit does, do you have a genuine objection. (Note that this type ofambiguity is one that crops up in most real processors, and can often beused to detect which version of silicon a program is running on.)

You are right, it doesn't matter for the puzzle, maybe I'm just too much aprogrammer, who likes complete descriptions of a CPU :-)

Post by Laurence ReevesDoes this have any bearing on the size of the smallest program? Only ifit does, do you have a genuine objection. (Note that this type ofambiguity is one that crops up in most real processors, and can often beused to detect which version of silicon a program is running on.)

You are right, it doesn't matter for the puzzle, maybe I'm just too much aprogrammer, who likes complete descriptions of a CPU :-)

Heehee! And you've set me off down the slightly painful road of gettingX-Face to work in SeaMonkey.