全站数据
8 4 2 0 5 8 1

CPU怎样读取指令

财会审计帮 | 简单学习,快乐成才!         
问题更新日期:2024-10-19 02:31:28

问题描述

CPU怎样读取指令急求答案,帮忙回答下
精选答案
最佳答案

指令都有固定格式,一般先读第一个字节判断是否是前缀,然后读第2字节并查表看是否是机器码,若不是则读第3个字节查表,找到指令后继续读ModR/M、SIB等参数确定后面还有几个操作数。

如读取指令mov eax,dword ptr ss:[ebx ecx*4]先读第一个字节,查表得到前缀SS,读第2字节,发现是mov r,r/m,于是读第3字节(ModR/M)得到r=eax,r/m=disp32[--],因此需要读第4字节(SIB),得到r/m=[ebx ecx*4]具体可以看Intel Architecture Software Developer’s Manual Volume2: Instruction Set Reference