问答题
某程序中有如下循环代码段p“for(int i=0;i<N;i++)sum+=A[i];”。假设编译时变量sum和i分别分配在寄存器R1和R2中。常量N在寄存器R6中,数组A的首地址在寄存器R3中。程序段P起始地址为0804 8100H,对应的汇编代码和机器代码如下表所示。
执行上述代码的计算机M采用32位定长指令字,其中分支指令bne采用如下格式:
OP为操作码;Rs和Rd为寄存器编号;OFFSET为偏移量,用补码表示。请回答下列问题,并说明理由。
执行上述代码的计算机M采用32位定长指令字,其中分支指令bne采用如下格式:
OP为操作码;Rs和Rd为寄存器编号;OFFSET为偏移量,用补码表示。请回答下列问题,并说明理由。已知sll指令实现左移功能,数组A中每个元素占多少位
【参考答案】
正确答案:在二进制中某数左移两位相当于乘以四,由该条件可知,数组间的数据间隔为4个地址单位,而计算机按字节编址,所以数组......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
点击查看答案
相关考题
-
问答题
图中哪些寄存器是程序员可见的为何要设置暂存器T -
问答题
该计算机存储器按字节编址还是按字编址该条件转移指令向后(反向)最多可跳转多少条指令 -
问答题
某计算机字长为16位,采用16位定长指令字结构,部分数据通路结构如下图所示,图中所有控制信号为1时表示有效、为0时表示无效。例如,控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状态。加法指令“ADD(R1),R0”的功能为(R0)+((R1))→(R1),即将R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。下表给出了上述指令取指和译码阶段每个节拍(时钟周期)的功能和有效控制信号,请按表中描述方式用表格列出指令执行阶段每个节拍的功能和有效控制信号。