Z80/R800 Opcodes List

Pagina 2/3
1 | | 3

Van gdx

Prophet (3172)

afbeelding van gdx

25-09-2017, 15:05

Is this confirmed by several people? Because the wiki also says this:

wiki wrote:

Undocumented Z80-operation "SLL" have been replaced with another undocumented command "TST"

Yet this is not accurate. TST is a documented instruction of the Z280. The instruction that replaces the undocumented SLL in the R800 is a little different.

Van Grauw

Ascended (8618)

afbeelding van Grauw

25-09-2017, 15:41

I mentioned who wrote it, so feel free to ask sd_snatcher. I don’t really see what the accuracy of some other part written by someone else has to do with this? If you need confirmation by more people, then please go ahead and test it yourself, I’m looking forward to the result. Wink

The part about TST was written by NYYRIKKI, you can ask him about that. Or if you think the phrasing is imperfect, then you can correct it, it’s a wiki after all. Not sure what you think is incorrect about it though? What people call "TST" is not a documented R800 instruction, and the undocumented Z80 function that people dubbed "SLL" was replaced by it on R800. The primary point of that sentence is imo to say that SLL should not be used.

p.s. If you have some information / documentation on TST, can you tell us something more about it?

Van KdL

Paragon (1254)

afbeelding van KdL

25-09-2017, 17:27

so much confusion by ASCII Nishi

Van gdx

Prophet (3172)

afbeelding van gdx

26-09-2017, 00:39

I have tests but not enough to be more affirmative.

Van ARTRAG

Enlighted (6323)

afbeelding van ARTRAG

26-09-2017, 06:50

How does TST work on r800?
Just curious...

Van gdx

Prophet (3172)

afbeelding van gdx

26-09-2017, 09:00

The multiplication instructions added to the R800 are the same as those of the Z280 but strangely not all have been added, only a few. About SLL instruction, it has been replaced with an similar instruction to TEST of the Z280. (In fact, it's TEST not TST.) From what I remember, the difference is the bit 0 which is not set.

TEST is described in the Z280 manual at page 141. You can compare on MSX with SHEM by entering the opcodes and run it by pressing Shift+CTRL+G and specify the address. You can too set the values of the registers by pressing CTRL+R just before.

Van Grauw

Ascended (8618)

afbeelding van Grauw

26-09-2017, 09:37

On the Z180, iirc TST is an AND without saving the result value, just updating the flags.

Van NYYRIKKI

Enlighted (5426)

afbeelding van NYYRIKKI

26-09-2017, 22:14

Grauw wrote:

The part about TST was written by NYYRIKKI, you can ask him about that.

Sorry, but this is direct quote that I've taken from somewhere. I have not tested how these instructions actually work. If someone would bother to document their behavior it would be nice addition to the wiki.

Grauw wrote:

On the Z180, iirc TST is an AND without saving the result value, just updating the flags.

This somehow sounds familiar... I think I've heard this kind of statement before as well...

Van gdx

Prophet (3172)

afbeelding van gdx

29-09-2017, 14:27

I updated the opcodes list.

z80_r800_opcodes.zip

I corrected some instructions in table of opcodes which begin with DDh and I modified the remarks according to the doc found here and a few tests.

Van KdL

Paragon (1254)

afbeelding van KdL

30-09-2017, 14:11

gdx wrote:

I updated the opcodes list.

z80_r800_opcodes.zip

I corrected some instructions in table of opcodes which begin with DDh and I modified the remarks according to the doc found here and a few tests.

Thanks!! :)

Pagina 2/3
1 | | 3