在线二区人妖系列_国产亚洲欧美日韩在线一区_国产一级婬片视频免费看_精品少妇一区二区三区在线

鍍金池/ 教程/ Java/ Assembly匯編 CMPS指令
Assembly 變量聲明
Assembly匯編 STOS指令
Assembly 條件
Assembly 尋址模式和MOV指令
Assembly匯編教程
Assembly - 什么是匯編語言
Assembly 循環(huán)
Assembly 內(nèi)存段
Assembly匯編 宏
Assembly 寄存器
Assembly匯編 遞歸
Assembly匯編 CMPS指令
Assembly匯編 內(nèi)存管理
Assembly匯編 LODS指令
Assembly 基本語法
Assembly匯編 過程
Assembly匯編 文件管理
Assembly匯編 數(shù)組
Assembly匯編 SCAS指令
Assembly 算術(shù)指令
Assembly 環(huán)境設(shè)置
Assembly匯編 字符串處理
Assembly 數(shù)字
Assembly 常量
Assembly匯編 MOVS指令
Assembly 邏輯指令
Assembly 系統(tǒng)調(diào)用

Assembly匯編 CMPS指令

CMPS指令比較兩個字符串。該指令比較兩個數(shù)據(jù)項的一個字節(jié),字或雙字,指出由DS:SI和ES:DI寄存器并設(shè)置相應(yīng)的標志。也可以使用條件跳轉(zhuǎn)指令這個指令。

下面的例子演示了如何使用CMPS指令比較兩個字符串:

section	.text
    global _start            ;must be declared for using gcc
_start:	;tell linker entry yiibai
   mov esi, s1
   mov edi, s2
   mov ecx, lens2
   cld
   repe  cmpsb
   jecxz  equal            ;jump when ecx is zero

   ;If not equal then the following code
   mov eax, 4
   mov ebx, 1
   mov ecx, msg_neq
   mov edx, len_neq
   int 80h
   jmp exit
equal:
   mov eax, 4
   mov ebx, 1
   mov ecx, msg_eq
   mov edx, len_eq
   int 80h
exit:
   mov eax, 1
   mov ebx, 0
   int 80h
section	.data
s1 db 'Hello, world!',0    ;our first string
lens1 equ $-s1
s2 db 'Hello, there!', 0   ;our second string
lens2 equ $-s2
msg_eq db 'Strings are equal!', 0xa
len_eq  equ $-msg_eq
msg_neq db 'Strings are not equal!'
len_neq equ $-msg_neq

上面的代碼編譯和執(zhí)行時,它會產(chǎn)生以下結(jié)果:

Strings are not equal!

上一篇:Assembly 條件下一篇:Assembly匯編 遞歸