Say it louder
Print every command-line argument in capitals, one per line, each followed by !. With quiet please in the args box the program prints QUIET! and then PLEASE!. Check always uses quiet please, whatever the box holds.
main receives the argument count in w0 and the address of argv, an array of 8-byte pointers to strings, in x1. Entry 0 is the program's own name, so start at entry 1. With no arguments the program prints nothing at all.
Walk each argument's bytes with ldrb until the terminating zero. Only the bytes from 'a' to 'z' change: in ASCII each lower-case letter sits exactly 32 above its capital. Digits, punctuation, and letters that are already capitals stay as they are. You can write each changed byte back into the argument with strb and then print the whole string with the format in .data.
What is checked
- the shouted lines for
quiet pleaseand for more arguments you cannot see - the program exits cleanly
- the bytes are read one at a time (
ldrb)
specification
ldrbWe run your program on the input above and on the hidden ones, and compare what it does. Nothing is matched against a stored solution.