软件硬件交互属性验证及业务流程动态扩展研究
1. 指令模板
在对软件的硬件交互属性进行分析时,除了系统状态规范外,分析过程的用户还需提供两个指令集规范。分析过程独立于所使用的系统规范以及指令集规范的影响,但要求指令集描述采用标准化格式。
1.1 顺序指令模板
顺序指令必须指定为模板 Z 操作模式。这是一种具有特定命名约定的标准 Z 模式:模式名称必须是其所代表指令的助记符,下标包含该模板定义行为的类型签名。处理器指令通常使用相同的助记符,但对于不同类型的参数可能有细微不同的行为。此分析过程识别的参数类型有文字常量(literal)、寄存器(register)和寄存器间接(register indirect,即寄存器中的值用作内存地址,可能带有偏移量),这三种类型在 objdump 的输出中清晰可辨。例如,将文字常量值加载到寄存器的 Intel mov 指令,可用以下模板指定:
movLIT#SRC,REG#TGT
Δ System
registers′ = registers ⊕TGT →SRC
memory′ = memory
下标符号中参数用逗号分隔,类型和占位符名称用井号分隔。占位符的处理将在后续部分描述。
1.2 分支指令模板
对于分支指令,binst 集合以助记符作为参数,并且必须包含一个名为 OnBranch 的 Z 操作模式,还可选择包含一个名为 NoBranch 的模式。OnBranch 和 NoBranch 操作模式分别前缀到目标地址的顺序块和紧跟该指令的顺序块。无条件分支指令(如 i386
软件硬件交互与流程扩展研究
超级会员免费看
订阅专栏 解锁全文
171万+

被折叠的 条评论
为什么被折叠?



