Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- prompt: .asciiz "nEnter a number corresponding to a valid month : "
- message: .asciiz "n?n"
- message1: .asciiz "nThe month selected is Januaryn"
- message2: .asciiz "nThe month selected is Februaryn"
- message3: .asciiz "nThe month selected is Marchn"
- message4: .asciiz "nThe month selected is Apriln"
- message5: .asciiz "nThe month selected is Mayn"
- message6: .asciiz "nThe month selected is Junen"
- message7: .asciiz "nThe month selected is Julyn"
- message8: .asciiz "nThe month selected is Augustn"
- message9: .asciiz "nThe month selected is Septembern"
- message10: .asciiz "nThe month selected is Octobern"
- message11: .asciiz "nThe month selected is Novembern"
- message12: .asciiz "nThe month selected is Decembern"
- .text
- main:
- #Prompt the user
- li $v0,4 #Load immediate, telling the assembler it's output is going to be string
- la $a0,prompt #Loads the address $a0, with the prompt from memory
- syscall
- #Store the information given to use by the user:
- li $v0, 5
- syscall #code to tell the system we want the integer value from the user
- move $t0,$v0 #keep the value temporarily in $t0
- add $a0, $zero, $t0 # adds into $a0 the input of the user
- #check to see what the user's input is by jumping to a simple label
- beq $t0,1,Jan
- beq $t0,2,Feb
- beq $t0,3,Mar
- beq $t0,4,Apr
- beq $t0,5,May
- beq $t0,6,Jun
- beq $t0,7,Jul
- beq $t0,8,Aug
- beq $t0,9,Sep
- beq $t0,10,Oct
- beq $t0,11,Nov
- beq $t0,12,Dec
- #catch if the value entered is not an integer
- beq $t0, -2, invalidMessage
- #catch every other integer value
- li $v0, 4
- la $a0, message
- syscall
- li $v0,10
- syscall
- #Labels corresponding to the user's input
- Jan:
- li $v0,4
- la $a0, message1
- syscall
- li $v0,10
- syscall
- Feb:
- li $v0,4
- la $a0, message2
- syscall
- li $v0,10
- syscall
- Mar:
- li $v0,4
- la $a0, message3
- syscall
- li $v0,10
- syscall
- Apr:
- li $v0,4
- la $a0, message4
- syscall
- li $v0,10
- syscall
- May:
- li $v0,4
- la $a0, message5
- syscall
- li $v0,10
- syscall
- Jun:
- li $v0,4
- la $a0, message6
- syscall
- li $v0,10
- syscall
- Jul:
- li $v0,4
- la $a0, message7
- syscall
- li $v0,10
- syscall
- Aug:
- li $v0,4
- la $a0, message8
- syscall
- li $v0,10
- syscall
- Sep:
- li $v0,4
- la $a0, message9
- syscall
- li $v0,10
- syscall
- Oct:
- li $v0,4
- la $a0, message10
- syscall
- li $v0,10
- syscall
- Nov:
- li $v0,4
- la $a0, message11
- syscall
- li $v0,10
- syscall
- Dec:
- li $v0,4
- la $a0, message12
- syscall
- li $v0,10
- syscall
- invalidMessage:
- li $v0,4
- la $a0, message
- syscall
- li $v0,10
- syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement