考虑下面的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)
说明:学生成绩的地址只能通过使用学生的基地址来访问。
- 后递增寻址模式。 (R1)+ –将给出下一个地址,而不是所需的成绩地址
- 递减前寻址模式-(R1)–将给出先前的地址,而不是所需的成绩地址
- 寄存器直接寻址模式R1:在此模式下,操作数的地址嵌入到指令代码中。
- 索引寻址模式:这是唯一一种通过使用位移模式在基地址中添加位移来访问下一个地址的模式。 。基址寄存器包含指向存储器位置的指针。整数(常数)也称为位移。通过将基址寄存器的内容加常量来获得操作数的地址。
因此,选项D是正确的
这个问题的测验