Difference between revisions of "Talk:Z80 Instruction Set"

From WikiTI
Jump to: navigation, search
 
(6 intermediate revisions by 5 users not shown)
Line 19: Line 19:
 
:A quick reference for people who actually know what they're doing.  For those who don't, these tables should of course be accompanied by detailed descriptions of what the various opcodes actually do.
 
:A quick reference for people who actually know what they're doing.  For those who don't, these tables should of course be accompanied by detailed descriptions of what the various opcodes actually do.
 
:Any comments before I go and waste a few hours wikifying the rest of the Z80 instruction set?
 
:Any comments before I go and waste a few hours wikifying the rest of the Z80 instruction set?
 +
::Perhaps we can be more intelligent about this and not do this by hand? At least have some source file and then we have a nice program we auto-generate the list from? I sure don't want you wasting hours wikifying the instruction set, no matter how good vi might be. ;-) --[[User:JasonM|JasonM]] 14:13, 30 Dec 2005 (PST)
 
:Please don't use parentheses for anything other than indirection!
 
:Please don't use parentheses for anything other than indirection!
 
:[[User:FloppusMaximus|FloppusMaximus]] 12:28, 23 Dec 2005 (PST)
 
:[[User:FloppusMaximus|FloppusMaximus]] 12:28, 23 Dec 2005 (PST)
 
::Is providing an octal representation actually useful for anything?
 
::Is providing an octal representation actually useful for anything?
  
::A binary representation would be more useful -- [[User:Jib|Jib]]
+
:A binary representation would be more useful -- [[User:Jib|Jib]]
 +
 
 +
::You're right, it could be.  Of course octal is useful -- just take a look at a complete table of the instructions; everything is grouped by eights and sixty-fours.  So I know that 1''r'' ''s'' = LD ''r'',''s'', or that 3''a''6 ''nnn'' = ALU(''a'') ''nnn'', or that 3''z''7 = RST 0''z''0, or less obviously that 3''c''0 = RET ''c''.  Much easier to remember than hexadecimal.  But that's just me.  I think you're right, binary would be better. [[User:FloppusMaximus|FloppusMaximus]] 15:53, 25 Dec 2005 (PST)
 +
:::Can we just do both? I think I have enough screen real-estate. --[[User:JasonM|JasonM]] 14:13, 30 Dec 2005 (PST)
 +
 
 +
:Since I coded the Z80 core of PindurTI from scratch, I have some useful information at my disposal that I hunted down from various places on the web, especially regarding flags. A big table would be the most effective method in my opinion, I'll start building something on my user page. [[User:CoBB|CoBB]] 02:52, 25 Feb 2006 (PST)
 +
 
 +
Considering the length of the table, would it be a good idea to repeat the column headers every so often (so people don't have to scroll all the way back up to see what order the flags are in, for example - easy to get lost with such narrow columns)? -- [[User:Aquanight|Aquanight]] 20:49, 27 November 2006 (PST)
 +
: Yes --[[User:Dan Englender|Dan Englender]] 06:43, 28 November 2006 (PST)

Latest revision as of 07:43, 28 November 2006

We could probably just use one of the publically available instruction set lists to save the time and trouble of typing everything out again. --Dan 00:28, 22 Dec 2005

Emacs.
Anyway, what you've got so far is not particularly clear, and doesn't really present the important information. I'm thinking of a series of tables something like this:
Oct Hex Instruction States Clock S Z X H Y P N C
100 40 ld b, b OCF(4) 4 - - - - - - - -
101 41 ld b, c OCF(4) 4 - - - - - - - -
102 42 ld b, d OCF(4) 4 - - - - - - - -
103 43 ld b, e OCF(4) 4 - - - - - - - -
A quick reference for people who actually know what they're doing. For those who don't, these tables should of course be accompanied by detailed descriptions of what the various opcodes actually do.
Any comments before I go and waste a few hours wikifying the rest of the Z80 instruction set?
Perhaps we can be more intelligent about this and not do this by hand? At least have some source file and then we have a nice program we auto-generate the list from? I sure don't want you wasting hours wikifying the instruction set, no matter how good vi might be. ;-) --JasonM 14:13, 30 Dec 2005 (PST)
Please don't use parentheses for anything other than indirection!
FloppusMaximus 12:28, 23 Dec 2005 (PST)
Is providing an octal representation actually useful for anything?
A binary representation would be more useful -- Jib
You're right, it could be. Of course octal is useful -- just take a look at a complete table of the instructions; everything is grouped by eights and sixty-fours. So I know that 1r s = LD r,s, or that 3a6 nnn = ALU(a) nnn, or that 3z7 = RST 0z0, or less obviously that 3c0 = RET c. Much easier to remember than hexadecimal. But that's just me. I think you're right, binary would be better. FloppusMaximus 15:53, 25 Dec 2005 (PST)
Can we just do both? I think I have enough screen real-estate. --JasonM 14:13, 30 Dec 2005 (PST)
Since I coded the Z80 core of PindurTI from scratch, I have some useful information at my disposal that I hunted down from various places on the web, especially regarding flags. A big table would be the most effective method in my opinion, I'll start building something on my user page. CoBB 02:52, 25 Feb 2006 (PST)

Considering the length of the table, would it be a good idea to repeat the column headers every so often (so people don't have to scroll all the way back up to see what order the flags are in, for example - easy to get lost with such narrow columns)? -- Aquanight 20:49, 27 November 2006 (PST)

Yes --Dan Englender 06:43, 28 November 2006 (PST)