InstructionSource 類別

建構函式

InstructionSource()

方法

add_node

在指令來源圖中新增一個節點。

add_root

在指令來源圖中新增一個根節點。

from_isa

從指令集(ISA)構建指令源圖。

指令來源圖在上下文中包含比來源圖更多的資訊,因為它將指令與產生它們的轉換及架構連結起來。

get

取得第一個指令來源根節點,並取得給定的指令 ID。 若不存在此類節點,則回傳預設值。

add_node

在指令來源圖中新增一個節點。

add_node(instruction: Instruction, transform: ISATransform | Architecture | None, children: list[int]) -> int

參數

名稱 Description
instruction
必要
<xref:qdk.qre.Instruction>

這個節點的指令。

transform
必要
<xref:Optional>[<xref:ISATransform | Architecture>]

產生指令的轉換。

children
必要

子節點的索引。

傳回

類型 Description
int

新加入節點的索引。

add_root

在指令來源圖中新增一個根節點。

add_root(node_id: int) -> None

參數

名稱 Description
node_id
必要
int

節點的索引作為根。

from_isa

從指令集(ISA)構建指令源圖。

指令來源圖在上下文中包含比來源圖更多的資訊,因為它將指令與產生它們的轉換及架構連結起來。

from_isa(ctx: ISAContext, isa: ISA) -> InstructionSource

參數

名稱 Description
ctx
必要

包含來源圖的列舉上下文。

isa
必要
ISA

ISA 中的指令將作為來源圖中的根節點。

傳回

類型 Description

用於估計結果的指令來源圖。

get

取得第一個指令來源根節點,並取得給定的指令 ID。 若不存在此類節點,則回傳預設值。

get(id: int, default: _InstructionSourceNodeReference | None = None) -> _InstructionSourceNodeReference | None

參數

名稱 Description
id
必要
int

要搜尋的指令 ID。

default
<xref:Optional>[<xref:_InstructionSourceNodeReference>]

如果找不到具有相同 ID 的節點,則要回傳的值。 預設值為 None。

預設值: None

傳回

類型 Description
Optional[<xref:_InstructionSourceNodeReference>]

第一個指令來源節點,該指令 ID 為預設,若不存在則為預設。

屬性

nodes

nodes: list[qdk.qre._instruction._InstructionSourceNode]

roots

roots: list[int]