// File: navrajsaini[P]PL_Compiler_design_project/parser.cpp
// Function: Parse::MultOp()
void Parse::MultOp()//multiplying, div, and mod operator
{where="MO";check();
   if(LHS=="*")
   {
      gen.emit1("TIMES");
      match();
   }else if(LHS=="%")
   {
      gen.emit1("MODULO");
      match();
   }else if(LHS=="/")
   {
      gen.emit1("DIVIDE");
      match();
   }else
      errorReport();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x98(%rbp)
addq $0x5098, %rdi           # imm = 0x5098
leaq 0x5fd8(%rip), %rsi      # 0x1f9d0
callq 0x2280
movq -0x98(%rbp), %rdi
callq 0x15310
movq -0x98(%rbp), %rdi
addq $0x5050, %rdi           # imm = 0x5050
leaq 0x58b4(%rip), %rsi      # 0x1f2d2
callq 0x10ea0
testb $0x1, %al
jne 0x19a2c
jmp 0x19acf
movq -0x98(%rbp), %rax
addq $0x50c0, %rax           # imm = 0x50C0
movq %rax, -0xa8(%rbp)
leaq -0x29(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x2350
movq -0xa0(%rbp), %rdx
leaq 0x5f75(%rip), %rsi      # 0x1f9d3
leaq -0x28(%rbp), %rdi
callq 0x2290
jmp 0x19a69
movq -0xa8(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x12ef0
jmp 0x19a7b
leaq -0x28(%rbp), %rdi
callq 0x2130
leaq -0x29(%rbp), %rdi
callq 0x21e0
movq -0x98(%rbp), %rdi
callq 0x14f20
jmp 0x19c7a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x19ac1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2130
leaq -0x29(%rbp), %rdi
callq 0x21e0
jmp 0x19c83
movq -0x98(%rbp), %rdi
addq $0x5050, %rdi           # imm = 0x5050
leaq 0x57e6(%rip), %rsi      # 0x1f2ca
callq 0x10ea0
testb $0x1, %al
jne 0x19af2
jmp 0x19b95
movq -0x98(%rbp), %rax
addq $0x50c0, %rax           # imm = 0x50C0
movq %rax, -0xb8(%rbp)
leaq -0x61(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x2350
movq -0xb0(%rbp), %rdx
leaq 0x5eb5(%rip), %rsi      # 0x1f9d9
leaq -0x60(%rbp), %rdi
callq 0x2290
jmp 0x19b2f
movq -0xb8(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x12ef0
jmp 0x19b41
leaq -0x60(%rbp), %rdi
callq 0x2130
leaq -0x61(%rbp), %rdi
callq 0x21e0
movq -0x98(%rbp), %rdi
callq 0x14f20
jmp 0x19c78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x19b87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x2130
leaq -0x61(%rbp), %rdi
callq 0x21e0
jmp 0x19c83
movq -0x98(%rbp), %rdi
addq $0x5050, %rdi           # imm = 0x5050
leaq 0x571e(%rip), %rsi      # 0x1f2c8
callq 0x10ea0
testb $0x1, %al
jne 0x19bb8
jmp 0x19c6a
movq -0x98(%rbp), %rax
addq $0x50c0, %rax           # imm = 0x50C0
movq %rax, -0xc8(%rbp)
leaq -0x89(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x2350
movq -0xc0(%rbp), %rdx
leaq 0x5df3(%rip), %rsi      # 0x1f9e0
leaq -0x88(%rbp), %rdi
callq 0x2290
jmp 0x19bfb
movq -0xc8(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x12ef0
jmp 0x19c10
leaq -0x88(%rbp), %rdi
callq 0x2130
leaq -0x89(%rbp), %rdi
callq 0x21e0
movq -0x98(%rbp), %rdi
callq 0x14f20
jmp 0x19c76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x19c5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x2130
leaq -0x89(%rbp), %rdi
callq 0x21e0
jmp 0x19c83
movq -0x98(%rbp), %rdi
callq 0x15110
jmp 0x19c78
jmp 0x19c7a
addq $0xd0, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x2340
nopl (%rax)