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, 22.06.2019 00:10
How does access indicates that a filter has been applied to a specific column
Answers: 1
question
Computers and Technology, 22.06.2019 15:30
Melissa needs to add a topic to an email that she will send to her teacher. choose the name of the field where she should type her topic.
Answers: 2
question
Computers and Technology, 23.06.2019 07:10
If you want to import a picture into a dtp application, what must you do first? draw an image frame. import text. open the folder containing the file. select get image… from the windows menu.
Answers: 2
question
Computers and Technology, 23.06.2019 20:30
If chris has a car liability insurance, what damage would he be covered for
Answers: 1
You know the right answer?
Hello,

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

the progra...
Questions
Questions on the website: 13722367