1. 程式人生 > >彙編中基本的指令格式

彙編中基本的指令格式

指令中符號解釋:R代表暫存器  M代表記憶體單元 I代表立即數

  1. 運算指令:
    ADD R/M , R/M/I    加法指令(減法類似)
    XCHG R/M ,R    兩數交換指令
    INC R/M   自增指令(自減類似)
    CMP R/M, R/M/I    比較指令
    NEG R/M    求補指令
    MUL R/M    無符號乘法指令
    DIV R/M     無符號除法指令
    IMUL R/M    有符號乘法(有符號除法IDIV)

    2.邏輯指令
    NOT R/M     取反指令
    AND R/M,R/M/I    與指令(或指令類似OR)
    TEST(類似於AND 指令只是沒有存放結果的AND指令)
    XOR R/M,R/M/I    異或指令

    3.跳轉指令
    JMP R/M/I
    跳轉指令分為短跳轉與長跳轉,其中短跳轉分為NEAR 與SHORT, 其中NEAR的跳轉範圍為-32K~32K-1,SHORT跳轉長度為 -128~127

附加

關於跳轉指令中的條件跳轉指令
對於條件跳轉指令首先要弄清幾個關鍵的單詞首字母,其實條件跳轉指令就是按照指令的中文意思執行的。
E (equal 相等)
N(not 不)
用於無符號的兩個常見單詞首字母
A(above 大於)
B (below 小於 )
用於有符號的兩個常見單詞首字母
G(greater 大於)
L(less 小於)

JA/JNBE   比較結果大於時跳轉 (CF=0 且 ZF=0)
JAE/JNB   大於等於 (CF =0 或 ZF =1)
JB/JNAE   小於 (CF=1 且 ZF=0)
JBE/JNA   小於等於 (CF= 1 或 ZF = 1)

JG/JNLE   比較結果大於時跳轉 (SF=OF 且 ZF=0)
JGE/JNL   大於等於 (SF=OF 或 ZF =1)
JL/JNGE   小於 (SF!=OF 且 ZF=0)
JLE/JNG  小於等於 (SF!=OF 或 ZF = 1)

JC ,JNC,JZ/E,JNZ/E ,JS,JNS 等指令都是更具標誌為來進行判斷並進行轉移

相關推薦

彙編基本指令格式

指令中符號解釋:R代表暫存器  M代表記憶體單元 I代表立即數 運算指令: ADD R/M , R/M/I    加法指令(減法類似) XCHG R/M ,R    兩數交換指令 INC R/M   自增指令(自減類

彙編基本的資料型別

1、位元組(DB)define byte 一個位元組有8位二進位制組成,其最高位是第7位,最低位是第0位。在表示有符號數時,最高位就是符號位。 00001001    =9 10001011    = -11    有符號                    

詳解WordPress簡碼格式標簽編寫的基本方法

filter 所有 oot 執行 body 標簽 支持 script tro WordPress 簡碼是一種類似於論壇標簽的東西,格式類似於把尖括號換成中括號的 Html 標簽。簡碼很多人叫做短代碼,但官方的翻譯應該是簡碼,在這裏糾正一下。 簡碼的開發的邏輯比較簡單,主要就

彙編Enter和Leave指令

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

ARM彙編LDR偽指令和LDR指令

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

ARM彙編彙編proc、endp、ret、near、far指令用法

   ARM彙編:彙編中proc、endp、ret、near、far指令用法 子程式名 PROC NEAR ( 或 FAR ) …… ret 子程式名 ENDP (1)NEAR屬性(段內近呼叫): 呼叫程式和子程式在同一程式碼段中,只能被相同程式碼段的其他程式呼叫;    FAR屬性(段間遠

彙編的移位指令(8086CPU)

原創 8086CPU中有8條移位指令,分為兩大類。 非迴圈移位指令: SAL  ——  算術左移  ——  最高位移入標誌狀態位CF SAR  ——  算術右移  ——  最低位移入CF,最高位不變。 比如說:將10000000算術右移7位,應該變成11111111,而邏輯右移7位,則不考慮符號

8086彙編關於CPU是如何知道每次讀取指令的長度的解釋

指令由操作碼和運算元兩部分組成。CPU在設計好之後,其指令集就確定了,CPU對每條指令都規定了相應的機器碼,不同定址方式的指令,不同運算的指令,它們的機器碼都不相同。CPU剛開始讀取指令時並不知道將會執行什麼指令,它將指令地址發到地址匯流排,然後指令將“逐位元組”地通過資料匯流排傳送到CPU

GCC彙編指令格式

AT&T 彙編指令說明 在閱讀linux/unix核心原始碼的時候,必須先掌握彙編,大家都知道,核心程式碼用的編譯器是gcc,而gcc採用的是AT&T的彙編格式,與MS的intel有些區別。 一 AT&T的基本語法 語法上主要有以下幾個不同.

彙編的test和cmp指令[Z]

首先看看:狀態暫存器(即標誌暫存器) PSW(Program Flag)程式狀態字(即標誌)暫存器,是一個16位暫存器,由條件碼標誌(flag)和控制標誌構成, 如下所示: 15   14    13    12   11   10    9    8    7    6    5    4    3  

彙編的借位減法指令SBB

SBB的含義 sbb是帶借位減法指令,它利用了CF位上記錄的借位值。 指令格式:sbb 操作物件1,操作物件2 功能:操作物件1=操作物件1-操作物件2-CF SBB與SUB的區別 SUB A

GNU彙編.word偽指令的理解

在u-boot中遇到_armboot_start、_bss_start等這些變數,這些偽指令的用法涉及以下知識1.彙編是“絕對引用”,即引用的就是地址在start.s中_TEXT_BASE: .word TEXT_BASE /*uboot映像在SDRAM中的重定位地址,我設定

Linux基本指令(持續更新..)

-m -a 外部 log sage class 程序 兩個 取消別名 基本指令等: 部分快捷鍵: ctrl+c 強制結束當前運行程序,終止命令 ctrl+d 結束當前運行程序  先按ESC然後按. 或者同時按住ALT和. 則輸入上一條命令的最後一個參數,與!$相同Ctrl

java加載properties文件的六基本方式實現

alt user 通過 put main import port pac 技術 java加載properties文件的方式主要分為兩大類:一種是通過import java.util.Properties類中的load(InputStream in)方法加載; 另一種是通過

linux基本指令

下載文件 default logs 空白 實時更新 協議 proc ron shell 作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 我總結了常用的Linux命令,方便你的Linux使用。下面是格式

淺談AngularJS指令指令間的相互通信

file str 裏的 按鈕 相互 要去 direct 不能 pil 說到AngularJS,我們首先想到的大概也就是雙向數據綁定和指令系統了,這兩者也是AngularJS中最為吸引人的地方。雙向數據綁定呢,感覺沒什麽好說的,那麽今天我們就來簡單的討論下AngularJS這

JS基本包裝類型說明需求文檔

js 類包裝 javascript為了便於操作基本類型值,ES還提供了三種特殊的引用類型,即(基本包裝類型):Number,String,Boolean。這三種類型與前面介紹的引用類型相似,但同時也擁有基本數據類型的一些特性。平時經常看到人家代碼裏創建了一個字符串/數字類型,然後使用字符串/數字類型的一些

Android的時間格式的校驗

imp pri .text protected oncreate @override ast activity ext public class MainActivity extends Activity implements OnClickListener{ priva

表單的銀行卡格式輸入

blog 格式 max ace doc class maxlength tex his 1.這個功能需求還算比較多。 2.這個方法很簡潔。 1 <!DOCTYPE html> 2 <html> 3 <head> 4

jqGrid細節備註—jqGrid自定義格式,URL格式

cto cti 函數名 pan sortable mod 51cto show 對象 本文來自:http://cnn237111.blog.51cto.com/2359144/782137 jqGrid中自定義格式,URL格式 當官方自帶的showlink用起來不是十分