Arduino Inline ASM With Strings

Let me know how I did on my homework.

char s1[18] = "Dry, Water Me :( ";
char s2[18] = "New middle string";
char s3[18] = "Wet, Do Not Water";

// lower than 3 displays the dry string,
// between 3 and 5 displays a new middle string,
// and lastly above 7 will display the wet string?
char* test(uint8_t val)
{
  asm volatile (
    "cpi %0, 3 \n"
    "brlo 1f \n"
  
    "cpi %0, 8 \n"
    "brsh 2f \n"
  
    "ldi r24, lo8(s2) \n"
    "ldi r25, hi8(s2) \n"
    "rjmp 3f \n"
  
    "1: ldi r24, lo8(s1) \n"
    "ldi r25, hi8(s1) \n"
    "rjmp 3f \n"
  
    "2: ldi r24, lo8(s3) \n"
    "ldi r25, hi8(s3) \n"
    
    "3: \n"
    :  : "r" (val), "e" (s1), "e" (s2), "e" (s3)
  );
}

void setup() {
  Serial.begin(9600);
  Serial.println(test(1));
  Serial.println(test(4));
  Serial.println(test(8));
}

void loop() { }

note: per your instructions, what should happen when val = 6?