考虑下面定义的 C 结构:
struct data {
int marks [100] ;
char grade;
int cnumber;
};
struct data student;
学生的基地址在寄存器 R1 中可用。字段student.grade可以使用有效访问
(A)后增量寻址模式。 (R1)+
(B)预递减寻址方式,-(R1)
(C)寄存器直接寻址方式,R1
(D)索引寻址模式,X(R1),其中 X 是以 2 的补码 16 位表示形式表示的偏移量。答案: (D)
说明:学生成绩地址只能通过Student基地址访问。
- 后增量寻址模式。 (R1)+ – 将提供下一个地址而不是所需的年级地址
- 预递减寻址模式,-(R1) – 将给出先前的地址而不是所需的等级地址
- 寄存器直接寻址模式,R1:在这种模式下,操作数的地址嵌入在指令代码中。
- 索引寻址模式:它是唯一一种使用位移模式通过在基地址中添加位移来访问下一个地址的模式。 .基址寄存器包含一个指向内存位置的指针。整数(常数)也称为位移。操作数的地址是通过将基址寄存器的内容加上常量来获得的。
所以选项D是正确的
这个问题的测验