Skip to content

Instantly share code, notes, and snippets.

@goodbar
Created March 13, 2011 18:40
Show Gist options
  • Save goodbar/868318 to your computer and use it in GitHub Desktop.
Save goodbar/868318 to your computer and use it in GitHub Desktop.
Demonstrates the decrement opcode.
/* Sothink Decompilation */
public class Declrement extends Sprite
{
private var i:int = 55;
private var j:int = 6;
private var k:int = 1;
public function Declrement()
{
_as3_debugfile "C:\Users\Eustache\Adobe Flash Builder 4\Declrement\src;;Declrement.as"
_as3_debugline line number: 12
_as3_getlocal <0>
_as3_pushscope
_as3_debugline line number: 13
_as3_getlocal <0>
_as3_constructsuper (param count:0)
_as3_debugline line number: 14
_as3_findpropstrict trace
_as3_pushstring "i-- is as follows"
_as3_callproperty trace(param count:1)
_as3_pop
_as3_debugline line number: 15
_as3_getlocal <0>
_as3_dup
_as3_setlocal <1>
_as3_getproperty Declrement::i
_as3_decrement_i
_as3_setlocal <2>
_as3_getlocal <1>
_as3_getlocal <2>
_as3_setproperty Declrement::i
_as3_kill <2>
_as3_kill <1>
_as3_debugline line number: 16
_as3_findpropstrict trace
_as3_pushstring "i-- complete"
_as3_callproperty trace(param count:1)
_as3_pop
_as3_debugline line number: 17
_as3_findpropstrict trace
_as3_pushstring "--j is as follows"
_as3_callproperty trace(param count:1)
_as3_pop
_as3_debugline line number: 18
_as3_getlocal <0>
_as3_dup
_as3_setlocal <1>
_as3_getproperty Declrement::j
_as3_decrement_i
_as3_setlocal <2>
_as3_getlocal <1>
_as3_getlocal <2>
_as3_setproperty Declrement::j
_as3_kill <2>
_as3_kill <1>
_as3_debugline line number: 19
_as3_findpropstrict trace
_as3_pushstring "Other syntax for testing:
i = i - 1"
_as3_callproperty trace(param count:1)
_as3_pop
_as3_debugline line number: 20
_as3_getlocal <0>
_as3_getlocal <0>
_as3_getproperty Declrement::i
_as3_pushbyte 1
_as3_subtract
_as3_initproperty Declrement::i
_as3_debugline line number: 21
_as3_findpropstrict trace
_as3_pushstring "j -= 1"
_as3_callproperty trace(param count:1)
_as3_pop
_as3_debugline line number: 22
_as3_getlocal <0>
_as3_getlocal <0>
_as3_getproperty Declrement::j
_as3_pushbyte 1
_as3_subtract
_as3_initproperty Declrement::j
_as3_debugline line number: 23
_as3_findpropstrict trace
_as3_pushstring "subtracting i from a variable that is 1"
_as3_callproperty trace(param count:1)
_as3_pop
_as3_debugline line number: 24
_as3_getlocal <0>
_as3_getlocal <0>
_as3_getproperty Declrement::i
_as3_getlocal <0>
_as3_getproperty Declrement::k
_as3_subtract
_as3_initproperty Declrement::i
_as3_debugline line number: 27
_as3_returnvoid
}// end function
}
}
package
{
import flash.display.Sprite;
public class Declrement extends Sprite
{
private var i:int = 55;
private var j:int = 6;
private var k:int = 1;
public function Declrement()
{
trace("i-- is as follows");
i--;
trace("i-- complete");
trace("--j is as follows");
--j;
trace("Other syntax for testing:\n i = i - 1");
i = i - 1;
trace("j -= 1");
j -= 1;
trace("subtracting i from a variable that is 1");
i -= k;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment