Question1. (lesson 2)
In the following code we determine a number if its even or odd.Explain what logic is used for that? Â Â
section .text
  global_start           ;must be declared for using gcc
     Â
_start:Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ;tell linker entry point
  mov  ax,  8h          ;getting 8 in the ax
   and  ax,1             ;and ax with 1
  jz   evnn
  mov  eax,4            ;system call number (sys_write)
  mov  ebx,1            ;file descriptor (stdout)
  mov  ecx,odd_msg      ;message to write
  mov  edx,len2         ;lengthof message
  int  0x80              ;call kernel
  jmp  outprog
evnn:Â Â
 Â
   mov   ah, 09h
  mov  eax,4            ;system call number (sys_write)
  mov  ebx,1            ;file descriptor (stdout)
  mov  ecx,even_msg     ;message to write
  mov  edx,len1         ;lengthof message
  int  0x80              ;call kernel
outprog:
  mov  eax,1             ;system call number (sys_exit)
  int  0x80              ;call kernel
section  .data
even_msg db 'Even Number!' ;message showing even number
len1 equ $ - even_msg
  Â
odd_msg db 'Odd Number!'Â Â Â ;message showing oddnumber
len2 equ $ - odd_msg
                   Â
Question 2. (lesson 1 and lesson 3)
                   Write a program that does thefollowing(modification from assignment 3)
           1. Asks the user to enter two numbers (each is a byte) A and B
           2. Multiply the numbers and stores the result in variable C.
                 3. so that if theproduct  exceeds 10, the program would print “result isgreater than 10â€.
                     Otherwise (if result < 10), it prints the result as usual.