.txt
.globl main

main:

# f= (g+h)-(i+j);

    li $s0,0
    li $t1,0
    li $t2,0
    li $s1,4
    li $s2,5
    li $s3,6
    li $s4,7

    add $t1, $s1, $s2 # sum of s1,s2 is stored in t1 or temporary variable
    t1 contains g+h

    add $t2, $s3, $s4 # sum of s3,s4 is stored in t2 or temporary variable
    t2 contains i+j

    sub $s0, $t1, $t2 # s0 gets $t1- $t2, which is (g+h)-(i+j)
    li $v0,1
    move $ao, $s0 # suppose to printf("f=%d\n",f) 
    li $v0, 10      
    syscall
#it is giving me syntax error

Recommended Answers

All 6 Replies

You have a problem with the MARS library.

li $v0,1 Print integer
mov $a0,$s0 a0 is integer
syscall <--- MISSING

li $v0,10
syscall #exit

commented: helpful +1

You have a problem with the MARS library.

li $v0,1 Print integer
mov $a0,$s0 a0 is integer
syscall <--- MISSING

li $v0,10
syscall #exit

oh thank you but i am still getting syntax error while trying to load on PCSpim as it is saying problem with line where it says .globl main

i meant to say it is not running

here is the code but it is giving me syntax error on function main. Can anyone tell me why please

.txt
.globl main

main:
# f= (g+h)-(i+j);

    li $s0,0
    li $t1,0
    li $t2,0
    li $s1,4
    li $s2,5
    li $s3,6
    li $s4,7

    add $t1, $s1, $s2 

    add $t2, $s3, $s4 

    sub $s0, $t1, $t2 
    li $v0,1
    move $a0, $s0
    syscall
    li $v0, 10
    syscall 

I downloaded the PCSPIM simulator and it doesn't like the system calls or the .txt label. I typically use a real MIPS processor, with real tools. Were you instructed to use this simulator, and where did the sample program or the control syntax of your sample program come from? I see no reference to those declarations in PCPSIM's help file!
And no MARS library reference.

Okay, had to get away from it, download and read the Appendix A document, twiddle and retry. It ran. Answer -4.
I also tabbed the text as normally it isn't suppose to be in column 1 but not sure if that was it or not!

.text
.align	2
.globl	main

main:
# f= (g+h)-(i+j);

	li $s0,0
	li $t1,0
	li $t2,0
	li $s1,4
	li $s2,5
	li $s3,6
	li $s4,7

	add $t1, $s1, $s2 

	add $t2, $s3, $s4 

	sub $s0, $t1, $t2 
	li $v0,1
	move $a0, $s0
	syscall

	li $v0, 10
	syscall
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.