JCC-11

路上^_^發表於2020-10-07

其他指令

CMP

格式: CMP R/M,R/M/IMM. 主要根據 比較的結果 改變 ZF 標誌位.

當 倆個數相等時,ZF == 1.
否則 ZF == 0.
如果是正向程式碼的話,就是IF 分支用來跳轉,或者選擇程式碼來執行
CMP相當於 執行 SUB 指令. 但是並不會將 比較結果儲存到第一個運算元中

還會影響到 SF 標誌位.
當第一個數比第二個數小,那麼SF == 1.否則 SF== 0
CMP還可以暫存器和記憶體中的只進行比較

TEST

格式: TEST R/M,R/M/IMM. 主要根據 比較的結果 改變 ZF 標誌位. 相當於 進行 AND 操作.
如果 AND 之後結果是0.那麼ZF==0.
例如: TEST EAX,EAX. 判斷的就是EAX中的值是不是0</