Computers And Technology Questions

Hello,I have to build a program using assembly with Mars system.The program is supposed to return a hailstone SequenceA)- get user input (integer) - NB) check if even or odd- if the input is even, the next number should N/2- if the user's input (N*3)+1C) reproduce the operation on the next number until the number is equal to 1D) display the sequenceE) count and display the number of iterartionI have the user input done, and then, I tried to do a bitwise operation using AND to see if the number is even or not but the program doesn't work after the user's input, as i have an output equal to zerocan you help me please?here is my code so far.dataprompt: .asciiz "enter an integer:"message1: .asciiz "you entered an even number"message2: .asciiz "you entered an odd number"message3: .asciiz "and the next numbers should be:"gototheline: .asciiz "\n"message4: .asciiz "you just entered the number:".textmain:#print the promptli $v0,4la $a0,promptsyscall#get the user's inputli $v0,5syscall#store the input'svaluemove $t3, $v0#display the user's input messageli $v0,4la $a0,message4syscall#go to the lineli $v0,4la $a0,gotothelinesyscall#print value entered by userli $v0,1move $a0, $t3syscall#go to the lineli $v0,4la $a0,gotothelinesyscall#bitwise operation on the inputand $a0,$0,1#call odd function if number is oddbeq $a0,1,ifodd#print next number messageli $v0, 4la,$a0,message3syscall#go to the lineli $v0,4la $a0,gotothelinesyscall#print resultli $v0,1addi $a0,$v1,0syscall li $v0,10syscallifeven:#print message if evenla $a1,message1syscall#call the function operation even to do math on the number entered by userjal operationevenifodd:#print message if oddla $a2,message2syscall#call method to do math on the number entered by userjal operationoddoperationeven:#if even N/2div $v1,$t3,2 # return value on $v1jr $ra #go back to the mainoperationodd:#multiply by 3mul $t1,$t3,3#add 1 to the result of the multiplicationadd $v1, $t1,1 #return value on $v1jr $ra #go back to the main