一、CMP指令
這一塊呢,我不想上圖了,匯編的博文我已經快要讓我寫吐了,其實也有好多我沒有補充進來,比如進制,LEA指令,數據寬度,有符號,無符號的區分等等,但我真的要吐了,這些玩意我已經不是第一次寫了,也不是第一次看了,以前我是習慣於在EXCEL上寫,這一次由於是我對匯編遺忘的有點狠,想從頭復習一遍,剛好把這個復習的過程上傳到博客園來,於是就有了這些文章,這兩條指令,如果有興趣,大家自己去測試測試吧
版權聲明:本文為博主原創文章,轉載請附上原文出處鏈接和本聲明。2019-09-06,20:23:27。
作者By-----溺心與沉浮----博客園
指令格式:CMP R/M,R/M/IMM
CPM指令相當於SUB,唯一不同的是它不改變操作數或者寄存器的值
該指令是比較兩個操作數,實際上,它相當於SUB指令,但是相減的結構並不保存到第一個操作數中。
只是根據相減的結果來改變零標志位的,當兩個操作數相等的時候,零標志位置1。
MOV EAX,100
MOV ECX,100
CMP EAX,ECX 觀察Z位
MOV EAX,100
MOV ECX,200
CMP EAX,ECX 觀察S位
CMP AX,WORD PTR DS:[405000]
CMP AL,BYTE PTR DS:[405000]
CMP EAX,DWORD PTR DS:[405000]
二、TEST指令
指令格式:TEST R/M,R/M/IMM
該指令在一定程序上和CMP指令時類似的,兩個數值進行與操作,結果不保存,但是會改變相應標志位.
與的操作表項如下:
1 and 1 = 1
1 and 0 = 0
0 and 1 = 0
0 and 0 = 0
常見用法:用這個指令,可以確定某寄存器是否等於0。
TEST EAX,EAX 觀察Z位
但是如果EAX的二進制某些位為1的話,那么運算的結果就不為零。
版權聲明:本文為博主原創文章,轉載請附上原文出處鏈接和本聲明。2019-09-06,20:23:27。
作者By-----溺心與沉浮----博客園