Question: Why my code does not compile, it says the label is defined for the second time on line 17 of the file for main: (Please

Why my code does not compile, it says the label is defined for the second time on line 17 of the file for main: (Please speicfy what you modified)

.data

x: .word 1

y: .word 1

z: .word -1

A: .word 10

B: .word 2

str1: .asciiz "z = "

nl: .asciiz " "

.globl main

.text

main:

# Initialization

la $t0, x #t0 = address of x

lw $s3, 0($t0) #s3 <-- x

la $t0, y #t0 = address of y

lw $s4, 0($t0) #s4 <-- y

la $t0, z #t0 = address of z

lw $s2, 0($t0) #s2 <-- z

la $t0, A #t0 = address of A

lw $s0, 0($t0) #s0 <-- A

la $t0, B #t0 = address of B

lw $s1, 0($t0)

START:

bne $s3,$s4, ELSE # if s3 != S4 go to ELSE

li $s2,0 # if s3 == S4 then S2 = 0

j EXIT # jump to EXIT

ELSE:

blt $s3,$s4,ELSE2 # if x < y go to label 1

mult $s2,$s1,4 # get 4 * B

add $s2,$s2,$s0 # z = A + 4*B

j EXIT # jump to EXIT

ELSE2:

mult $s2,$s1,4 # get 4 * B

sub $s2,$s0,$s6 # Z = A - 4*B

j EXIT

EXIT:

li $v0, 4 # system call print_str

la $a0, str1 # "z = "

syscall

li $v0, 1 # system call print_int

add $a0, $zero, $s2 # z

syscall

li $v0, 4 # system call print_str

la $a0, nl # newline

syscall

jr $ra

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!