欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

匯編語言中cmp指令用法筆記與總結

 更新時間:2020年01月19日 11:21:45   作者:zer1123  
這篇文章主要介紹了匯編語言中cmp指令用法,結合實例形式總結分析了匯編語言cmp指令基本功能、使用方法及操作注意事項,需要的朋友可以參考下

本文實例講述了匯編語言中cmp指令用法。分享給大家供大家參考,具體如下:

cmp是比較指令,cmp的功能是相當于減法指令,只是不保存結果.cmp指令執(zhí)行后,將對標志寄存器產(chǎn)生影響.其他相關指令通過識別這些被影響的標志寄存器來得知比較結果.

cmp指令格式: cmp  操作對象1,操作對象2

功能: 計算操作對象1 - 操作對象2 但不保存結果,僅僅根據(jù)計算結果對標志寄存器進行設置.比如cmp ax,ax  是做ax - ax 的運算,結果為0,但并不在ax中保存,僅影響flag的相關各位.

指令執(zhí)行后: zf = 1,pf = 1,sf = 0,cf = 0,of = 0;

下面的指令:

  mov ax,8

  mov bx,3

  mov ax,bx

執(zhí)行后: (ax)= 8,zf = 0,pf = 1,sf = 0, cf = 0, of = 0

如果 ax = bx 則 ax - bx = 0 ,所以 : zf = 1

如果 ax != bx 則ax - bx != 0,所以 : zf = 0

如果ax < bx 則ax - bx 將產(chǎn)生錯位,所以 : cf = 1

如果 ax >= bx 則 ax - bx 將不必借位,所以 : cf = 0

如果ax > bx 則 ax - bx 既不必借位,結果又不為0, 所以 : cf = 0 并且 zf = 0

如果 ax <= bx 則ax - bx 既可能借位,結果可能為0,所以 :  cf = 1 或 zf =1

檢測比較結果的條件轉移指令

je     等于則轉移         zf=1

jne   不等于則轉移     zf=0

jb      低于則轉移        cf=1

jnb    不低于則轉移    cf=0

ja       高于則轉移        cf=0且zf=0

jna     不高于則轉移    cf=1或zf=1

e : equal

ne : not equal

b: below

nb : not below

a : above

na : not above

編程: 統(tǒng)計data段中數(shù)值小于8的字節(jié)的個數(shù),用ax保存統(tǒng)計結果

    mov ax,data 

    mov ds,ax

    mov ax,0                ;初始化累加器

    mov bx,0                ;ds:bx指向第一個字節(jié)

    mov cx,8

  s : cmp byte ptr [bx] , 8       ;和8進行比較

     jnb next                 ;如果不小于8轉到next,繼續(xù)循環(huán)

     inc ax                   ;如果小于8就將計數(shù)值加1

next:inc bx 

    loop s

程序執(zhí)行后: ax = 2

還有疑問的可以去查看一下指令手冊,講解的比較細致

希望本文所述對大家匯編語言程序設計有所幫助。

相關文章

  • ARM匯編判斷之如何用匯編判斷數(shù)組中正負數(shù)個數(shù)

    ARM匯編判斷之如何用匯編判斷數(shù)組中正負數(shù)個數(shù)

    這篇文章主要介紹了ARM匯編判斷之如何用匯編判斷數(shù)組中正負數(shù)個數(shù),在匯編語言中程序的基本框架是不變的,這里我們可以直接把正向遍歷的程序給貼過來,然后我們思考怎么運用判斷后綴把數(shù)組中正數(shù)和負數(shù)分開,進行判斷個數(shù)和分別求和,需要的朋友可以參考下
    2022-04-04
  • 最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼

    最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼

    這篇文章主要介紹了最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼。計算機真正能夠理解的是低級語言,它專門用來控制硬件。匯編語言就是低級語言,直接描述/控制?CPU?的運行。如果你想了解?CPU?到底干了些什么,以及代碼的運行步驟,就一定要學習匯編語言。
    2022-12-12
  • 用匯編語言實現(xiàn)從1加到100的方法(1+2+...+100)

    用匯編語言實現(xiàn)從1加到100的方法(1+2+...+100)

    這篇文章主要介紹了用匯編語言實現(xiàn)從1加到100的方法(1+2+...+100),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 匯編語言存儲及寄存器原理解析

    匯編語言存儲及寄存器原理解析

    這篇文章主要介紹了匯編語言存儲及寄存器原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • 匯編語言指令大全 X86和X87匯編指令大全(帶注釋)

    匯編語言指令大全 X86和X87匯編指令大全(帶注釋)

    匯編指令集太多,如果不用就會忘記,所以將i處理器官方的指令集大全寫到博客上,有需要的人可以參考一下
    2021-10-10
  • 匯編語言:比較指令、跳轉指令、JCC的使用

    匯編語言:比較指令、跳轉指令、JCC的使用

    這篇文章主要介紹了匯編語言:比較指令、跳轉指令、JCC的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • ARM匯編解決階乘及大小寫轉換的問題

    ARM匯編解決階乘及大小寫轉換的問題

    這篇文章主要介紹了ARM匯編解決階乘及大小寫轉換,包括ARM匯編大小寫轉換以及存入內(nèi)存的相關知識,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2021-11-11
  • 匯編基礎程序編寫教程示例

    匯編基礎程序編寫教程示例

    這篇文章主要為大家介紹了匯編基礎,程序編寫教程示例,文中附含詳細的圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • 匯編語言學習心得

    匯編語言學習心得

    匯編語言(assembly language)是一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。這篇文章主要介紹了匯編語言學習心得,需要的朋友可以參考下
    2020-01-01
  • 匯編語言程序設計之根據(jù)輸入改變屏幕顏色的代碼

    匯編語言程序設計之根據(jù)輸入改變屏幕顏色的代碼

    這篇文章主要介紹了匯編語言中的根據(jù)輸入改變屏幕顏色的代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03

最新評論