S3C2410XS3C2410X 系统结构系统结构第三章习题解答1 、 ARM 指令中的第二操作数“ operand2” 有哪些具体形式
解:有三种:寄存器、寄存器移位、 8 位位图立即数
2 、对于 ARM 的变址寻址方式,有基地址和偏移地址两部分组成
( 1 )基地址可以是哪些寄存器
( 2 )偏移地址可以有哪些形式
( 3 )总地址的计算方法有哪些
( 4 )变址寻址应用于哪些指令
解:( 1 )基地址可以是通用寄存器 R0---R15 中的任意一个
( 2 )偏移地址可以有三种形式: 12 位立即数、寄存器、寄存器移位
( 3 )总地址的计算方法
有三种:前索引偏移、后索引偏移、程序相对偏移
即偏移地址的计算方法–前索引偏移:即先使用偏移,后传送数据
不定修改基地址
如: LDR Rd , [Rn,#m] ;STR Rd , [Rn,#m]
( 修改基地址 )–后索引偏移:即先传送数据,后先使用偏移,修改基地址
如: LDR Rd , [Rn] , #m–相对偏移:寻址地址在 PC 中,以当前指令为基地址, ±4KB内
如: LDR Rd , lable; lable 为程序标号( 4 )有 4 条指令: LDR 、 STR 、 LDM 、 STM3 、存储器从 0x400000 开始的 100 个单元中存放着ASCII 码,编写程序,将其所有的小写字母转换成大写字母,对其它的 ASCII 码不做变换
解:MOVR0 , #0x400000MOVR1 , #0LPLDRBR2 , [R0,R1]CMPR2 , #0x61BLONEXTCMPR2 , #0x7B ;0x61---0x7A 为小写字母的ASCSUBLOR2 , R2 , #0x20STRBLOR2 , [R0,R1]NEXTADDR1 , R1 , #1CMPR1 , #100BNELP4