STMIB 指令详解:寄存器 R0 和地址 0x208 的值变化
指令 'STMIB R0!,{R4-R7}' 的意思是将寄存器 R4、R5、R6、R7 的值存储到地址为 R0 的存储器中,并且在存储完成后自动将 R0 的值加上 4 个字节,以便下一次存储操作。
因此,运行后寄存器 R0 的值将变为 0x00210,因为 0x00200 加上 4 个字节(即 16 位)的大小,等于 0x00210。地址 0x208 的值将存储 R4 的值,地址 0x20C 的值将存储 R5 的值,地址 0x210 的值将存储 R6 的值,地址 0x214 的值将存储 R7 的值。
这是因为 STMIB 指令是向低地址方向存储的,即先将 R4 的值存储到 R0 指向的地址,然后将 R5 的值存储到 R0-4 的地址,以此类推。因此,R4 的值将存储在地址 0x208 处,R5 的值将存储在地址 0x20C 处,R6 的值将存储在地址 0x210 处,R7 的值将存储在地址 0x214 处。
原文地址: https://www.cveoy.top/t/topic/nDGR 著作权归作者所有。请勿转载和采集!