http://wiki.intellivision.us/index.php?title=NEGR&feed=atom&action=history
NEGR - Revision history
2024-03-28T16:38:43Z
Revision history for this page on the wiki
MediaWiki 1.30.0
http://wiki.intellivision.us/index.php?title=NEGR&diff=14853&oldid=prev
Mr z: Protected "NEGR" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))
2010-12-04T09:00:50Z
<p>Protected "<a href="/index.php/NEGR" title="NEGR">NEGR</a>" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))</p>
<table class="diff diff-contentalign-left" data-mw="interface">
<tr style="vertical-align: top;" lang="en">
<td colspan="1" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="1" style="background-color: white; color:black; text-align: center;">Revision as of 09:00, 4 December 2010</td>
</tr><tr><td colspan="2" style="text-align: center;" lang="en"><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>
Mr z
http://wiki.intellivision.us/index.php?title=NEGR&diff=1410&oldid=prev
Mr z at 19:36, 12 January 2005
2005-01-12T19:36:47Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr style="vertical-align: top;" lang="en">
<td colspan="2" style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: white; color:black; text-align: center;">Revision as of 19:36, 12 January 2005</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l9" >Line 9:</td>
<td colspan="2" class="diff-lineno">Line 9:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><tr><td>Output Flags</td><td>[[Sign Flag]], [[Zero Flag]], [[Overflow Flag]], [[Carry Flag]]</td></tr></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><tr><td>Output Flags</td><td>[[Sign Flag]], [[Zero Flag]], [[Overflow Flag]], [[Carry Flag]]</td></tr></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></table><br/></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div></table><br/></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>The Negate Register (NEGR) instruction creates a <del class="diffchange diffchange-inline">twos </del>complement of the value in the specified register, stores the result in the same register, and sets or clears the [[Sign Flag]], [[Zero Flag]], [[Overflow Flag]], and [[Carry Flag]] according to the results. <del class="diffchange diffchange-inline">Note that a twos </del>complement <del class="diffchange diffchange-inline">of any 16-bit value is equivalent to </del>the <del class="diffchange diffchange-inline">value xor'ed </del>with $FFFF and then adding one (1) to the result ((value^$FFFF)+1).<br/></div></td><td class='diff-marker'>+</td><td style="color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div>The Negate Register (NEGR) instruction creates a <ins class="diffchange diffchange-inline">2s </ins>complement of the value in the specified register, stores the result in the same register, and sets or clears the [[Sign Flag]], [[Zero Flag]], [[Overflow Flag]], and [[Carry Flag]] according to the results. <ins class="diffchange diffchange-inline"> The machine computes the 2s </ins>complement <ins class="diffchange diffchange-inline">by inverting </ins>the <ins class="diffchange diffchange-inline">number (e.g. XOR it </ins>with $FFFF<ins class="diffchange diffchange-inline">) </ins>and then adding one (1) to the result ((value^$FFFF)+1)<ins class="diffchange diffchange-inline">.  Negating 0, for instance, sets the [[Carry Flag]]</ins>.<br/></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     0000:0000:0010:0rrr<br/></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>     0000:0000:0010:0rrr<br/></div></td></tr>
</table>
Mr z
http://wiki.intellivision.us/index.php?title=NEGR&diff=309&oldid=prev
Pingaso at 17:55, 12 January 2005
2005-01-12T17:55:31Z
<p></p>
<p><b>New page</b></p><div>[[Category:CP1610]]<br />
<table border><br />
<tr><td>Instruction Name</td><td>Negate Register</td></tr><br />
<tr><td>Mnemonic</td><td>NEGR</td></tr><br />
<tr><td>CP1610 Clock Cycles</td><td>6</td></tr><br />
<tr><td>Interruptible</td><td>Yes</td></tr><br />
<tr><td>Opcode Range</td><td>$0020-$0027</td></tr><br />
<tr><td>Input Flags</td><td>None</td></tr><br />
<tr><td>Output Flags</td><td>[[Sign Flag]], [[Zero Flag]], [[Overflow Flag]], [[Carry Flag]]</td></tr><br />
</table><br/><br />
The Negate Register (NEGR) instruction creates a twos complement of the value in the specified register, stores the result in the same register, and sets or clears the [[Sign Flag]], [[Zero Flag]], [[Overflow Flag]], and [[Carry Flag]] according to the results. Note that a twos complement of any 16-bit value is equivalent to the value xor'ed with $FFFF and then adding one (1) to the result ((value^$FFFF)+1).<br/><br />
<br />
0000:0000:0010:0rrr<br/><br />
where:<br />
rrr indicates the target register<br />
such that:<br />
rrr == 000 indicates register R0<br />
rrr == 001 indicates register R1<br />
rrr == 010 indicates register R2<br />
rrr == 011 indicates register R3<br />
rrr == 100 indicates register R4<br />
rrr == 101 indicates register R5<br />
rrr == 110 indicates register R6<br />
rrr == 111 indicates register R7</div>
Pingaso