started mic1
This commit is contained in:
parent
07cf7fc9b9
commit
9f9dbb4807
2 changed files with 37 additions and 0 deletions
BIN
Homework 8/ex3.ijvm
Normal file
BIN
Homework 8/ex3.ijvm
Normal file
Binary file not shown.
37
Homework 8/ex3.jas
Normal file
37
Homework 8/ex3.jas
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
// 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 0x09 // 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 n
|
||||||
|
ILOAD temp
|
||||||
|
IADD
|
||||||
|
ISTORE temp
|
||||||
|
BIPUSH 0xFF
|
||||||
|
ILOAD m
|
||||||
|
ISUB
|
||||||
|
ISTORE m
|
||||||
|
GOTO loop
|
||||||
|
end:
|
||||||
|
// this is obviously very useful
|
||||||
|
IRETURN
|
||||||
|
.end-method
|
Reference in a new issue