                  .global     getmonth, getmonths
                  .text

getmonth:
                  # a0: package date
                  srli        t0, a0, 5
                  andi        a0, t0, 0b11111
                  ret

getmonths:
                  # prelude
                  addi        sp, sp, -16
                  sw          ra, 12(sp)
                  sw          s0, 8(sp)
                  sw          s1, 4(sp)
                  sw          s2, 0(sp)

                  # s0: array address
                  # s1: length of array
                  # s2: i
                  mv          s0, a0
                  mv          s1, a1
                  li          s2, 0
1:                bge         s2, s1, 2f
                  
                  # t0 = array[i]
                  slli        t0, s2, 2
                  add         t0, s0, t0
                  lw          t0, (t0)

                  mv          a0, t0
                  jal getmonth

                  addi        s2, s2, 1
                  j           1b

2:                # postlude
                  lw          ra, 12(sp)
                  lw          s0, 8(sp)
                  lw          s1, 4(sp)
                  lw          s2, 0(sp)
                  addi        sp, sp, 16
                  ret
