.thumb
add r0,r1
and r0,r1
orr r0,r1
sub r0,r1
cmp r0,r1
assemble and disassemble
arm-none-eabi-as so.s -o so.o
arm-none-eabi-objdump -d so.o
so.o: file format elf32-littlearm
Disassembly of section .text:
00000000 <.text>:
0: 1840 adds r0, r0, r1
2: 4008 ands r0, r1
4: 4308 orrs r0, r1
6: 1a40 subs r0, r0, r1
8: 4288 cmp r0, r1
Is likely why one would assume there is a cmps. It is not a bad assumption, cmp does change the flags, and for thumb the changing of flags is implied (thumb not thumb2 extensions where it is optional). Pretty obvious what would be meant by using a mnemonic like that. But you would need an assembler that accepts it:
.thumb
adds r0,r1
ands r0,r1
orrs r0,r1
subs r0,r1
cmps r0,r1
arm-none-eabi-as so.s -o so.o
so.s: Assembler messages:
so.s:3: Error: instruction not supported in Thumb16 mode -- `adds r0,r1'
so.s:4: Error: instruction not supported in Thumb16 mode -- `ands r0,r1'
so.s:5: Error: instruction not supported in Thumb16 mode -- `orrs r0,r1'
so.s:6: Error: instruction not supported in Thumb16 mode -- `subs r0,r1'
so.s:7: s suffix on comparison instruction is deprecated
Which implies at one time there was an s there for at least one assembler, meaning it was a valid mnemonic for an arm assembly language.
You need to be careful understanding the difference between an assembly language and an instruction set. Many instruction sets have many different, incompatible, assembly languages. Within the tools created by arm for their targets you will see this. x86 is well known for decades of incompatible assembly languages (nothing to do with att vs intel ordering, within each att and intel) for the same instruction set. But there are many, not as bad as x86, incompatible, assembly languages for the same ARM instruction sets. As easily demonstrated above with an extremely popular tool. It supports two incompatible assembly languages within itself for arm thumb.
.thumb
cmps r0,r1
assemble and disassemble
arm-none-eabi-as so.s -o so.o
so.s: Assembler messages:
so.s:3: s suffix on comparison instruction is deprecated
arm-none-eabi-objdump -d so.o
so.o: file format elf32-littlearm
Disassembly of section .text:
00000000 <.text>:
0: 4288 cmp r0, r1
So the answer is clearly yes, there is a CMPS instruction for ARM/thumb. Your university materials were correct.