freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

匯編指令分類(lèi)的介紹(已修改)

2025-04-21 01:49 本頁(yè)面
 

【正文】 .. .. .. ..匯編指令全集ZZ以下是80X86匯編過(guò)程中經(jīng)常用到的一些匯編指令。從功能分類(lèi)上來(lái)說(shuō),一共可分為一、數(shù)據(jù)傳送指令:MOV、XCHG、LEA、LDS、LES、PUSH、POP、PUSHF、POPF、CBW、CWD、CWDE。二、算術(shù)指令:ADD、ADC、INC、SUB、SBB、DEC、CMP、MUL、DIV、DAA、DAS、AAA、AAS。三、邏輯指令:AND、OR、XOR、NOT、TEST、SHL、SAL、SHR、SAR、RCL、RCR、ROL、ROR。四、控制轉(zhuǎn)移指令:JMP、Jcc、JCXZ、LOOP、LOOPZ、LOOPNZ、LOOPNE、CALL、RET、INT。五、串操作指令:MOVS、LODS、STOS、CMPS、SCAS。六、標(biāo)志處理指令:CLC、STC、CLD、STD。七、32位CPU新增指令數(shù)據(jù)傳送指令MOV(傳送)指令寫(xiě)法:MOVtarget,source功能描述:將源操作數(shù)source的值復(fù)制到target中去,source值不變注意事項(xiàng):1)target不能是CS(代碼段寄存器),我的理解是代碼段不可寫(xiě),只可讀,所以相應(yīng)這地方也不能對(duì)CS執(zhí)行復(fù)制操作。2)target和source不能同時(shí)為內(nèi)存數(shù)、段寄存器(CS\DS\ES\SS\FS\GS)3)不能將立即數(shù)傳送給段寄存器4)target和source必須類(lèi)型匹配,比如,要么都是字節(jié),要么都是字或者都是雙字等。4)由于立即數(shù)沒(méi)有明確的類(lèi)型,所以將立即數(shù)傳送到target時(shí),系統(tǒng)會(huì)自動(dòng)將立即數(shù)零擴(kuò)展到與target數(shù)的位數(shù)相同,再進(jìn)行傳送。有時(shí),需要用BYTE PTR、WORD PTR、DWORD PTR明確指出立即數(shù)的位數(shù)寫(xiě)法示例:MOVdl,01H。MOVeax,[bp]。 eax =ss:[bp]雙字傳送。XCHG(交換)指令寫(xiě)法:XCHG object1,object2功能描述:交換object1與object2的值注意事項(xiàng):1)不能直接交換兩個(gè)內(nèi)存數(shù)的值2)類(lèi)型必須匹配3)兩個(gè)操作數(shù)任何一個(gè)都不能是段寄存器【看來(lái)段寄存器的寫(xiě)入的限制非常的嚴(yán)格,MOV指令也不能對(duì)段寄存器進(jìn)行寫(xiě)入】,4)必須是通用寄存器(ax、bx、cx、dx、si、di)或內(nèi)存數(shù)寫(xiě)法示例:XCHGax,[bx][si]。 XCHG ax,bx。LEA(裝入有效地址)指令寫(xiě)法:LEZ reg16,mem功能描述:將有效地址MEM的值裝入到16位的通用寄存器中。寫(xiě)法示例:假定bx=5678H,EAX=1,EDX=2Lea si,2[bx]si=567AHLea di,2[eax][edx]di=5注意,這里裝入的是有效地址,并不是實(shí)際的內(nèi)存中的數(shù)值,如果要想取內(nèi)存中該地址對(duì)應(yīng)的數(shù)值,還需要加上段地址才行,而段地址有可能保存在DS中,也有可能保存在SS或者CS中哦:不知道我的理解可正確。LDS\LES\LGS\LSS(注意,與LEA不同的是,這里是裝入的值,而不是有效地址)這幾個(gè)指令,名稱不同,作用差不多。寫(xiě)法:LDS reg16,mem32功能描述:reg16等于mem32的低字,而DS對(duì)應(yīng)于mem32的高字(當(dāng)為L(zhǎng)ES時(shí),這里就是ES對(duì)應(yīng)于mem32的高字)用來(lái)給一個(gè)段寄存器和一個(gè)16位通用寄存器同時(shí)復(fù)制。注意事項(xiàng):第一個(gè)操作數(shù)必須是16位通用寄存器在接著往下說(shuō)之前,先熟悉下堆棧的概念。堆棧,位于內(nèi)存的堆棧段中,是內(nèi)存的一部分,具有“先進(jìn)后出”的特點(diǎn),堆棧只有一個(gè)入口,即當(dāng)前棧頂,當(dāng)堆棧為空時(shí),棧頂和棧底指向同一內(nèi)存地址,在WINDOWS中,可以把堆棧理解成一個(gè)倒著的啤酒瓶,上面的地址大,下面的地址小,當(dāng)從瓶口往啤酒瓶塞啤酒時(shí)(進(jìn)棧),棧頂就會(huì)往瓶口下移動(dòng),也就是往低地址方向移動(dòng),同理,出棧時(shí),正好相反,把啤酒給倒出來(lái),棧頂向高地址方向移動(dòng)。這就是所謂的堆棧,哼哼,很Easy吧。在匯編語(yǔ)言中,堆棧操作的最小單位是字,也就是說(shuō),只能以字或雙字為單位,同時(shí),SS:SP指向棧頂(SS為堆棧段寄存器,SP為堆棧指針,二者一相加,就構(gòu)成了堆棧棧頂?shù)膬?nèi)存地址)。PUSH(進(jìn)棧)寫(xiě)法:PUSH reg16(32)/seg/mem16(32)/imm功能描述:將通用寄存器/段寄存器/內(nèi)存數(shù)/立即數(shù)的值壓入棧中,即:SP=SP2 SS:[SP]=16位數(shù)值(當(dāng)將32位數(shù)值壓入棧中時(shí),SP=SP4,SS:[SP]=32為數(shù)值)POP(出棧)寫(xiě)法:POP reg16(32)/seg/mem16(32)【不能出棧到CS中】功能描述:將堆棧口的16(32)位數(shù)據(jù)推出到通用寄存器/段寄存器/內(nèi)存中,即:寄存器/段寄存器/內(nèi)存= SS:[SP]SP=SP+2(當(dāng)將32位數(shù)值出棧時(shí),SP=SP+4)(注意,不能出棧給立即數(shù)哦,常量不可變嘛)PUSHA、PUSHAD、POPA、POPAD作用:將所有16/32位通用寄存器進(jìn)棧/出棧如:PUSHA 。將AX、CX、DX、BX、原SP、BP、SI、DI依次進(jìn)棧。POPA出棧順序正好相反,但要注意的是,彈出到SP的值被丟棄,SP通過(guò)增加16位來(lái)恢復(fù)(當(dāng)然嘛,不然棧頂?shù)刂肪捅恍薷牧?,就?huì)出息不對(duì)齊的情況,就有可能亂套了)POPAD PUSHAD一樣,只不過(guò)是32位的罷了。PUSHF、PUSHFD、POPF、POPFD功能描述:標(biāo)志寄存器FLAGS(EFLAGS)進(jìn)?;虺鰲H纾篜USHF;FLAGS進(jìn)棧POPF;棧頂字出棧到FLAGS總結(jié)下,POP和PUSH通??梢杂脕?lái)交換兩個(gè)寄存器的值,也可以用來(lái)保護(hù)寄存器的值,如下:交換ax與cx的值:push ax;push cx;pop ax;pop cx;保護(hù)寄存器:push ax;push cx;….中間有很多執(zhí)行的代碼…pop cx。pop ax。LAHF\SAHF(標(biāo)志寄存器傳送指令)寫(xiě)法:lahf;作用:AH=FLAGS的低8位寫(xiě)法:sahf;作用:FLAGS的低8位=AH符號(hào)擴(kuò)展和零擴(kuò)展指令CBW;A
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1