repe cmpsb /* repeat while equal compare string bytewise */
而在ARM上最短的形式可能是这样的(没有错误检查或优化,一次比较多个字节等)。
top:
ldrb r2, [r0, #1]! /* load a byte from address in r0 into r2, increment r0 after */
ldrb r3, [r1, #1]! /* load a byte from address in r1 into r3, increment r1 after */
subs r2, r3, r2 /* subtract r2 from r3 and put result into r2 */
beq top /* branch(/jump) if result is zero */
Open source工具集和operating systems的兴起也促进了各种SOC芯片的出现。一个封闭的组织在尝试支持所有可用于ARM的各种设备时会遇到问题。两个最流行的手机平台,android和OSx/IOS,都是基于Linux和FreeBSD, Mach和NetBSD操作系统。Open Source帮助SOC供应商为他们的芯片组提供软件支持。