We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

WDM: Difference between revisions

From SnesLab
Jump to: navigation, search
(see also)
 
(8 intermediate revisions by the same user not shown)
Line 7: Line 7:
|'''Speed'''
|'''Speed'''
|+
|+
|
|[[Implied]] (type 3)<sup>[4]</sup>
|42
|42
|2 byte
|2 byte
Line 14: Line 14:


{| class="wikitable" style="float:right;clear:right;width:30%"
{| class="wikitable" style="float:right;clear:right;width:30%"
!colspan="8"|Flags Clobbered
!colspan="8"|Flags Affected
|+
|+
|N
|[[N Flag|N]]
|V
|[[V Flag|V]]
|M
|[[M Flag|M]]
|X
|[[X Flag|X]]
|D
|[[D Flag|D]]
|I
|[[I Flag|I]]
|Z
|[[Z Flag|Z]]
|C
|[[C Flag|C]]
|+
|+
|.
|.
Line 35: Line 35:
|}
|}


'''WDM''' (the initials of [https://themenschfoundation.org/who-is-william-d-mensch-jr-aka-bill-mensch/ William David Mensch], the designer of the [[65c816]]) is an instruction that reserves its signature byte for future expansion of the instruction set.  None of these extra 256 opcodes were ever implemented, so WDM functions essentially as a two-byte [[NOP]].
'''WDM''' (the initials of [https://themenschfoundation.org/who-is-william-d-mensch-jr-aka-bill-mensch/ William David Mensch], the designer of the [[65c816]]) is an instruction that reserves its [[signature byte]] for future expansion of the instruction set.  None of these extra 256 opcodes were ever implemented, so WDM functions essentially as a two-byte [[NOP]].


=== Trivia ===
=== Trivia ===
The [[Labiak]] textbook does not describe the WDM instruction.
* WDM is the only [[implied addressing]] instruction that is more than one byte long
* The [[Labiak]] textbook does not describe the WDM instruction.


=== See Also ===
=== See Also ===
Line 45: Line 46:


=== External Links ===
=== External Links ===
* [[Eyes & Lichty]] page on WDM: https://archive.org/details/0893037893ProgrammingThe65816/page/n549
# [[Eyes & Lichty]] page 523, on WDM: https://archive.org/details/0893037893ProgrammingThe65816/page/n549
* snes9x implementation of WDM: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L3335
# snes9x implementation of WDM: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L3335
* undisbeliever on WDM: https://undisbeliever.net/snesdev/65816-opcodes.html#wdm-reserved-for-future-expansion
# undisbeliever on WDM: https://undisbeliever.net/snesdev/65816-opcodes.html#wdm-reserved-for-future-expansion
# Table 5-4 Opcode Matrix of official 65c816 datasheet


[[Category: ASM]]
[[Category: ASM]]
[[Category:65c816 additions]]
[[Category:65c816 additions]]
[[Category:Two-byte Instructions]]
[[Category:Implied Instructions]]
[[Category:Two-cycle Instructions]]

Latest revision as of 11:39, 14 December 2023

Basic Info
Addressing Mode Opcode Length Speed
Implied (type 3)[4] 42 2 byte 2 cycles
Flags Affected
N V M X D I Z C
. . . . . . . .

WDM (the initials of William David Mensch, the designer of the 65c816) is an instruction that reserves its signature byte for future expansion of the instruction set. None of these extra 256 opcodes were ever implemented, so WDM functions essentially as a two-byte NOP.

Trivia

  • WDM is the only implied addressing instruction that is more than one byte long
  • The Labiak textbook does not describe the WDM instruction.

See Also

External Links

  1. Eyes & Lichty page 523, on WDM: https://archive.org/details/0893037893ProgrammingThe65816/page/n549
  2. snes9x implementation of WDM: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L3335
  3. undisbeliever on WDM: https://undisbeliever.net/snesdev/65816-opcodes.html#wdm-reserved-for-future-expansion
  4. Table 5-4 Opcode Matrix of official 65c816 datasheet