Hello,
i have to build a program using assembly with mars system.
the progra...
Computers and Technology, 30.10.2019 01:31 cxttiemsp021
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
Answers: 1
Computers and Technology, 22.06.2019 00:10
How does access indicates that a filter has been applied to a specific column
Answers: 1
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
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
Computers and Technology, 23.06.2019 20:30
If chris has a car liability insurance, what damage would he be covered for
Answers: 1
English, 18.09.2019 18:00
Computers and Technology, 18.09.2019 18:00