在80486计算机中,该指令的最坏情况(包括获取)内存访问次数是多少:
add dword [x],0x123FA4
众所周知,没有操作数的操作码长度为两个字节。
答案 0 :(得分:4)
从存储器开始,指令具有操作码字节(“add”),地址模式字节,x(4字节)的偏移量和常量(4字节)==> 10个字节。我假设486一次从存储器中取出4个字节,总线地址与4字节DWORD边界对齐。所以10个字节可以说需要3个内存读取(= 10/4向上舍入),无论你放在哪里。但是,如果操作码字节位于DWORD的最后一个字节中,则剩余的9个字节跨越3个DWORDS到读取的总数实际上可以是4个。
要执行添加,必须提取位置X.假设X在DWORD边界上分割 - > 2读。添加常量发生在CPU内部,并且总和被写回到相同的DWORD边界分割 - > 2写道。
因此,最糟糕的情况应该是8次内存操作。