// product.jas .constant OBJREF 0x40 // needed for method invokation - see S.C.O. chapter 4 .end-constant .main // start of program LDC_W OBJREF // do not forget to push OBJREF on stack! BIPUSH 0x15 // paramater n (i.e., n = 21) BIPUSH 0x9 // paramater m (i.e., m = 9) INVOKEVIRTUAL product HALT // stops program execution .end-main .method product(n,m) // takes two arguments ("n" and "m") .var temp // change variable names as needed .end-var // just some code example: BIPUSH 0x00 ISTORE temp loop: ILOAD m IFEQ end ILOAD temp ILOAD n ILOAD m IFLT subsum IADD GOTO donesum subsum: ISUB donesum: ISTORE temp ILOAD m BIPUSH 1 ILOAD m IFLT add ISUB GOTO update add: IADD update: ISTORE m GOTO loop end: // this is obviously very useful ILOAD temp IRETURN .end-method