[A83] Re: LD A,R ; LD R,A


[Prev][Next][Index][Thread]

[A83] Re: LD A,R ; LD R,A




Hmm... someone did a test on TI-86 with that loop, and their memory faded
(crashing at a certain point, as those very instructions also faded). Of
course, it's quite possible that 86 and 83 differ in design.

Yeah the only real use of R is as a random number, but only twice per user
key press (once while you wait for it, once while you wait for them to
release it) -- use it much more than that and you simply see a recurring
mathematical pattern, because usually in loops the number of instructions is
constant.

An interesting idea would be to write some obfuscated Z80 code which loaded
0 into the R register, executed some instructions, and then loaded the value
from R when it got to the value it needed. You'd have to disable interrupts
of course =)

-----Original Message-----
From: assembly-83-bounce@lists.ticalc.org
[mailto:assembly-83-bounce@lists.ticalc.org]On Behalf Of Michael Vincent
Sent: Saturday, July 14, 2001 10:30 AM
To: assembly-83@lists.ticalc.org
Subject: [A83] Re: LD A,R ; LD R,A



The 83/83+/83+ SE all use a static RAM chip though. From the docs, "The
asynchronous and
static nature of the memory requires no external clock or refresh circuit."
I would think then that the R register wouldn't be needed?


Michael Vincent
Detached Solutions - www.detacheds.com
Radical Software - www.radicalsoft.org

----- Original Message -----
From: <ComAsYuAre@aol.com>
To: <assembly-83@lists.ticalc.org>
Sent: Saturday, July 14, 2001 7:14 AM
Subject: [A83] Re: LD A,R ; LD R,A


> From "Programming the Z80" by Rodnay Zaks:
>
> "The R register is the memory-refresh register.  It is provided to refresh
> dynamic memories automatically.  Such a register has traditionally been
> located outside the microprocessor, since it is associated with the
dynamic
> memory.  It is a convenient feature which minimizes the amount of external
> hardware for some types of dynamic memories."
>
> Basically, the r register gets incremented each byte of instruction code.
> It's used in some pseudo-random number generators, such as ztetris, but it
> can't be used without some sort of variable-length delay between uses
(such
> as waiting for someone to hit a key), because otherwise the output won't
be
> very random.  Otherwise, it has little practical use on calculators.
>
>
> In a message dated 7/14/2001 2:44:27 AM Eastern Daylight Time,
> hyper@hysoft-automation.com writes:
>
>
> >
> > When using the tasm80.tab file, I
> > came upon the opcodes LD A,R and LD R,A
> > They have a '1' at the end of the line
> > (the class), so I guess they're four our
> > processor. But I'm curious as to that this
> > R means. It can't be meaning 'other registers'
> > since they're all taken care for elsewhere in the
> > table file. My guess is that it's a special system
> >
>
>
>
>
> ----
> Jonah Cohen
> <ComAsYuAre@aol.com>
> http://jonah.ticalc.org
>
>
>
>





Follow-Ups: References: