Skip to content

Instantly share code, notes, and snippets.

@eimon96
Created April 29, 2022 07:04
Show Gist options
  • Save eimon96/036ecb5ec69bda8c8b44ca5c1e8fecc6 to your computer and use it in GitHub Desktop.
Save eimon96/036ecb5ec69bda8c8b44ca5c1e8fecc6 to your computer and use it in GitHub Desktop.
Godfather OST Intro in MIPS - MARS IDE

MARS MIPS Simulator ver4.5 download from here

# Author: eimon - 4/2021
# Godfather OST intro <3
# Have fun.
.text
li $s0, 500 #length in milli
li $s1, 96 #volume
li $s2, 1 #instrument
main:
#####
jal G
jal C
jal Eb
jal D
jal C
jal Eb
jal C
jal D
jal C
jal Ab
jal Bb
li $s0, 1600
jal G
#####
li $s0, 500
jal G
jal C
jal Eb
jal D
jal C
jal Eb
jal C
jal D
jal C
jal G
jal Fh
li $s0, 1600
jal F
#####
li $s0, 500
jal F
jal Ab
jal B
li $s0, 1600
jal D
#####
li $s0, 500
jal F
jal Ab
jal B
li $s0, 1600
jal C
#####
li $s0, 500
jal C2
jal Eb2
jal Bb
jal Ab
jal G
jal Bb
jal Ab
jal Ab
jal G
jal G
jal B2
li $s0, 5000
jal C2
j Exit
G:
li $v0, 33
li $a0, 67 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
C:
li $v0, 33
li $a0, 72 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
Eb:
li $v0, 33
li $a0, 75 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
Eb2:
li $v0, 33
li $a0, 63 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
D:
li $v0, 33
li $a0, 74 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
Ab:
li $v0, 33
li $a0, 68 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
Bb:
li $v0, 33
li $a0, 70 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
Fh:
li $v0, 33
li $a0, 66 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
F:
li $v0, 33
li $a0, 65 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
B:
li $v0, 33
li $a0, 71 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
C2:
li $v0, 33
li $a0, 60 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
B2:
li $v0, 33
li $a0, 59 # note
move $a1, $s0 # length in milli
move $a2, $s2 # instrument
move $a3, $s1 # volume
syscall
jr $ra
Exit:
li $v0, 10
syscall
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment