+Random Terrain Posted April 15, 2011 Author Share Posted April 15, 2011 (edited) Does anyone have simple definitions for the following two things: not 'orthogonal' So far, we have seen that what we can do with all the registers is essentially the same. Unfortunately, this is not the case with all the addressing modes! The 6502 is not 'orthogonal' - and this has some bearing on our choice of which register to use for which purpose, when designing our kernel. non-orthogonality That last line is interesting - an example of the non-orthogonality of our instruction set. Thanks. Edited April 15, 2011 by Random Terrain Quote Link to comment Share on other sites More sharing options...
ScumSoft Posted April 15, 2011 Share Posted April 15, 2011 (edited) Has no intersecting lines, nor right angles? [edit] In that case then "Has both direct and indirect addressing modes" But I can't think of an way to explain both this and what direct and indirect modes do at the same time. Direct addressing grabs a value straight from the address. Indirect grabs the address from the address...then the value lda Number = Number is a memory address which holds (5) lda Number,Y = Address of Number+Y (Y = 0-255) and returns value stored at Number+Y lda (Number) = Number holds an address not a direct value, so it returns an address which points to the value. lda (Number),Y = Same as above but returns (Address) then Number+Y Hmmm, going from memory here so I might have gotten this wrong Edited April 15, 2011 by ScumSoft Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted April 15, 2011 Author Share Posted April 15, 2011 Has no intersecting lines, nor right angles? Oops, I just added the context in my post so the meaning would be clear. Quote Link to comment Share on other sites More sharing options...
Ed Fries Posted April 15, 2011 Share Posted April 15, 2011 It's a fancy word you can easily do without. All he is trying to say is that the registers aren't all equal. Some operations require certain registers. For example you can only do math with the A register. If you want to set the stack pointer you have to use the X register (TXS instruction. There is no TYS or TAS.) Etc. There are many examples. I like to use this: 6502 opcodes to figure out what I can and can't do. Quote Link to comment Share on other sites More sharing options...
ScumSoft Posted April 15, 2011 Share Posted April 15, 2011 Oh, that makes sense. Thought it was referring to addressing modes for data. Learn something new every day Quote Link to comment Share on other sites More sharing options...
+Random Terrain Posted April 15, 2011 Author Share Posted April 15, 2011 It's a fancy word you can easily do without. All he is trying to say is that the registers aren't all equal. Some operations require certain registers. For example you can only do math with the A register. If you want to set the stack pointer you have to use the X register (TXS instruction. There is no TYS or TAS.) Etc. There are many examples. I like to use this: 6502 opcodes to figure out what I can and can't do. Thanks. This is the exact kind of info I'm looking for. Quote Link to comment Share on other sites More sharing options...
Glade Swope Posted December 1, 2013 Share Posted December 1, 2013 If there's "No OPeration", how can there be an operand? "Do nothing to the accumulator." What about the three-cycle NOP? Quote Link to comment Share on other sites More sharing options...
ScumSoft Posted December 3, 2013 Share Posted December 3, 2013 My benevolent Atari gods, why did you resurrect this infernal thread!? NOP is an instruction, NOP #0 is an instruction with a parameter. NOP can take parameters but will not do any work on them, instead it simply is burning cycle time as it parses over them. A = A is an assignment which makes the point that something is being done, but nothing has actually been done. This is why NOP can be considered an Operator and Operand. NOP <--Operator by itself NOP #0 <--Operator told to work on a byte and do something different, thus working as an Operand Quote Link to comment Share on other sites More sharing options...
+nanochess Posted December 5, 2013 Share Posted December 5, 2013 Of course take note that NOP #0 is an undocumented instruction and it could fail in some Atari variations like the Flashback. Quote Link to comment Share on other sites More sharing options...
Keatah Posted December 5, 2013 Share Posted December 5, 2013 Maybe people should put forth some effort and learn how to learn something. Forget this silver-spoon feeding approach. Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted December 5, 2013 Share Posted December 5, 2013 Maybe people should put forth some effort and learn how to learn something. Forget this silver-spoon feeding approach. The approach you're suggesting works to a point. I've had plenty of dipsticks in my life that have almost killed my curiosity by withholding information. Quote Link to comment Share on other sites More sharing options...
Keatah Posted December 5, 2013 Share Posted December 5, 2013 Well those dipsticks are assholes to be sure I'm sure.. 1 Quote Link to comment Share on other sites More sharing options...
John_L Posted June 20, 2014 Share Posted June 20, 2014 If you want your readers to understand what is meant when saying "operand", it should mean finding a simple definition that explains what is going on with an example then relating that definition to the jargon word that is commonly used, covers both avenues. Understanding what is going on and supplying one word that labels the concept. That word being agreed upon by the general consensus. I got one for ya: (j/k)an Operand is the part of a computer command that is worked on and becomes the result of the command. Example: A=A+1 In the example, the + represents the command or opcode being done The A is the operand it is done to. And the 1 is the operand it is done with. Addition is not an opcode. An opcode is a numeric value that the CPU treats as an instruction.... it's quite simple. operation | 1 + 1 = 2 <--- result. operand ^ ^operand Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.