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

Other questions on the subject: Computers and Technology

image
Computers and Technology, 22.06.2019 21:50, dijaflame67
Answer the following questions regarding your system by using the commands listed in this chapter. for each question, write the command you used to obtain the answer. a. what are the total number of inodes in the root filesystem? how many are currently utilized? how many are available for use? b. what filesystems are currently mounted on your system? c. what filesystems are available to be mounted on your system? d. what filesystems will be automatically mounted at boot time?
Answers: 1
image
Computers and Technology, 23.06.2019 10:30, tommyaberman
Would a ps4 wired controller work on an xbox one
Answers: 1
image
Computers and Technology, 23.06.2019 10:30, badpotterchris
How would you categorize the software that runs on mobile devices? break down these apps into at least three basic categories and give an example of each.
Answers: 1
image
Computers and Technology, 23.06.2019 20:00, boo3972
Match the file formats with the types of multimedia they can store
Answers: 2
You know the right answer?
Hello,

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

the progra...

Questions in other subjects: