(Thanks Ancient Dragon).
In order to check whether an ASCII number is uppercase or lowercase you must decide whether it is greater-than (for lowercase) or less-than (for uppercase) a specific number. You must figure out what that number is. Pay attention on line 22: you test for equality when you should be testing for an inequality (greater-than or less-than). Also pay attention to where you are branching.
Lines 27 and 32: If you want to unconditionally branch you could just say BR Test .
Lines 34,35: It isn't particularly clear, but I think that COMP is supposed to be the number you use to test upper/lower case, and OFFSET is supposed to be the number you add to a lowercase letter to get an uppercase letter. Like your professor noted, be careful of the sign for each one.
Lines 30..32: converting to lowercase. In your main loop, you should be obtaining a letter from the string using LDR. If you change the letter, you should save it back using an instruction like LDR but that works in the opposite direction (register to memory instead of memory to register).
Lines 36..39: You could just say .FILL 't' instead of .FILL #116 . The assembler is at least that smart...
I haven't assembled and tested this myself, but that should cover everything...
Hope this helps.
Duoas
Postaholic
2,043 posts since Oct 2007
Reputation Points: 1,140
Solved Threads: 229
Skill Endorsements: 8