subject

Hello,

i have to build a program using assembly with mars system.

the program is supposed to return a hailstone sequence

a)- get user input (integer) - n

b) check if even or odd

- if the input is even, the next number should n/2

- if the user's input (n*3)+1

c) reproduce the operation on the next number until the number is equal to 1

d) display the sequence

e) count and display the number of iterartion

i 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 zero

can you me ?

here is my code so far

.data

prompt: .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: "

.text
main:

#print the prompt
li $v0,4
la $a0,prompt
syscall

#get the user's input
li $v0,5
syscall

#store the input'svalue
move $t3, $v0

#display the user's input message
li $v0,4
la $a0,message4
syscall

#go to the line
li $v0,4
la $a0,gototheline
syscall

#print value entered by user
li $v0,1
move $a0, $t3
syscall

#go to the line
li $v0,4
la $a0,gototheline
syscall

#bitwise operation on the input
and $a0,$0,1

#call odd function if number is odd
beq $a0,1,ifodd

#print next number message
li $v0, 4
la,$a0,message3
syscall

#go to the line
li $v0,4
la $a0,gototheline
syscall

#print result
li $v0,1
addi $a0,$v1,0
syscall

li $v0,10
syscall

ifeven:
#print message if even
la $a1,message1
syscall

#call the function operation even to do math on the number entered by user
jal operationeven

ifodd:
#print message if odd
la $a2,message2
syscall

#call method to do math on the number entered by user
jal operationodd

operationeven:
#if even n/2
div $v1,$t3,2 # return value on $v1

jr $ra #go back to the main

operationodd:

#multiply by 3
mul $t1,$t3,3

#add 1 to the result of the multiplication
add $v1, $t1,1 #return value on $v1

jr $ra #go back to the main

ansver
Answers: 1

Another question on Computers and Technology

question
Computers and Technology, 24.06.2019 09:30
Retype the statements, correcting the syntax errors. system.out.println("num: " + songnum); system.out.println(int songnum); system.out.println(songnum " songs"); note: these activities may test code with different test values. this activity will perform two tests: the first with songnum = 5, the second with songnum = 9. see how to use zybooks.
Answers: 1
question
Computers and Technology, 24.06.2019 10:30
This device directs network traffic. bridge hub nic repeater router switch
Answers: 3
question
Computers and Technology, 24.06.2019 11:00
In three to five sentences, describe how you can organize written information logically and sequentially
Answers: 1
question
Computers and Technology, 24.06.2019 15:30
During the software planning process, rick, a project manager, finds that his team has made an incorrect estimation of funds. what kind of risk has rick identified? rick has identified a risk.
Answers: 1
You know the right answer?
Hello,

i have to build a program using assembly with mars system.

the progra...
Questions
question
Mathematics, 01.10.2019 15:00
question
Biology, 01.10.2019 15:00
Questions on the website: 13722363