phoron_asm 1.0.2

A Jasmin-compatible Assembler for the JVM
Documentation
.class public Main
.super java/lang/Object

.method public <init>()V
  aload_0
  invokespecial java/lang/Object/<init>()V
  return
.end method

.method private static printResult(Ljava/lang/String;I)V
  .limit stack 3
  .limit locals 2

  getstatic java/lang/System/out Ljava/io/PrintStream;
  aload_0
  invokevirtual java/io/PrintStream/print(Ljava/lang/String;)V

  getstatic java/lang/System/out Ljava/io/PrintStream;
  iload_1
  invokevirtual java/io/PrintStream/print(I)V

  getstatic java/lang/System/out Ljava/io/PrintStream;
  invokevirtual java/io/PrintStream/println()V

  return
.end method

.method public static main([Ljava/lang/String;)V
  .limit stack 3
  .limit locals 5

  new java/util/Scanner
  dup
  getstatic java/lang/System/in Ljava/io/InputStream;
  invokespecial java/util/Scanner/<init>(Ljava/io/InputStream;)V
  astore_1

  jsr ReadNum
  istore_3

  jsr ReadNum
  istore 4

  iload 3
  iload 4
  invokestatic Add/add(II)I
  ldc "Sum = "
  swap
  invokestatic Main/printResult(Ljava/lang/String;I)V

  iload 3
  iload 4
  invokestatic Sub/sub(II)I
  ldc "Difference = "
  swap
  invokestatic Main/printResult(Ljava/lang/String;I)V

  iload 3
  iload 4
  invokestatic Mul/mul(II)I
  ldc "Product = "
  swap
  invokestatic Main/printResult(Ljava/lang/String;I)V

  iload 3
  iload 4
  invokestatic Div/div(II)I
  ldc "Quotient = "
  swap
  invokestatic Main/printResult(Ljava/lang/String;I)V

  return

ReadNum:
  astore_2

  aload_1
  invokevirtual java/util/Scanner/nextInt()I
  ret 2

.end method