diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-21 20:21:03 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-09-21 20:21:03 (GMT) |
| commit | 644c1307124dffd13268445d0aebaed13a090c78 (patch) | |
| tree | e0d1ba738b7adbb484ba6d1fb3ae094e0c94b610 /src/pim/Machine.cpp | |
| parent | 939a04d3c77bf9aa8d54e912f5e12817de51756c (diff) | |
| download | powder-644c1307124dffd13268445d0aebaed13a090c78.zip powder-644c1307124dffd13268445d0aebaed13a090c78.tar.gz | |
Set properties with integer.property
Diffstat (limited to 'src/pim/Machine.cpp')
| -rw-r--r-- | src/pim/Machine.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/pim/Machine.cpp b/src/pim/Machine.cpp index 4c07514..a112363 100644 --- a/src/pim/Machine.cpp +++ b/src/pim/Machine.cpp @@ -105,6 +105,8 @@ namespace pim case Opcode::Jump: case Opcode::Return: case Opcode::LocalEnter: + case Opcode::LoadProperty: + case Opcode::StoreProperty: return 4; case Opcode::Discard: case Opcode::Duplicate: @@ -214,6 +216,13 @@ namespace pim sim->kill_part(PSPop().Integer); PSPush((Word)0); break; + case Opcode::LoadProperty: + PSPush(PPROP(PSPop().Integer, argument.Integer)); + break; + case Opcode::StoreProperty: + temp1 = PSPop(); + PPROP(temp1.Integer, argument.Integer) = PSPop(); + break; case Opcode::JumpEqual: if(PSPop().Integer == PSPop().Integer) programCounter = argument.Integer-1; |
