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

正文內(nèi)容

匯編指令分類的介紹-文庫吧

2025-03-25 01:49 本頁面


【正文】 L符號擴展為AXCWD;AX符號擴展為32位數(shù)DX:AXCWDE。AX符號擴展為EAX;CDQ:EAX符號擴展為64位數(shù)EDX:EAXMOVSX(符號擴展指令的一般形式)寫法:MOVSX reg16\32,reg8\reg16\mem8\mem16作用:用來將8位符號擴展到16位,或者16位符號擴展到32位MOVZX(零擴展指令)寫法:MOVZX reg16\32,reg8\reg16\mem8\mem16零擴展,就是高位補0進行擴展。通常用在將數(shù)據(jù)復(fù)制到一個不同的寄存器中,如AL零擴展為EBX。相同寄存器的零擴展,可以使用MOV 高位, 0來實現(xiàn)。1BSWAP(字節(jié)交換)寫法:bswap reg32作用:將reg32的第0與第3個字節(jié),第1與第2個字節(jié)進行交換。示例:設(shè)EAX=12345678h執(zhí)行bswap eax;后,eax=78563412H1XLAT(換碼)寫法:XLAT;作用:AL=DS:[bx+AL]將DS:BX所指內(nèi)存中的由AL指定位移處的一個字節(jié)賦值給AL。(貌似這是一個方便偷懶的指令哦。),原來它的主要用途是查表。注意可以給它提供操作數(shù),用來指定使用哪個段地址,如:XLAT ES:table;使用ES來作為段地址,table不起作用。XLAT table ;使用table所在段對應(yīng)的段寄存器作為段地址。數(shù)據(jù)傳送指令結(jié)束算術(shù)指令開始1ADD(加法)寫法:ADD reg/mem reg/mem/imm作用:將后面的操作數(shù)加到前面的操作數(shù)中注意:兩個操作數(shù)必須類型匹配,并且不能同時是內(nèi)存操作數(shù)ADC (帶進位加法)寫法:ADC reg/mem, reg/mem/imm ;作用:dest=dest+src+cf當(dāng)CF=0時 ADD與ADC的作用是相同的。示例:實現(xiàn)64位數(shù)EDX:EAX與ECX:EBX的加法:Add EAX,EBX;ADC EDX,ECX。1INC(自加一)寫法:INC reg/mem;作用:dest=dest+1;1XADD(交換加)寫法:XADD reg/mem, reg作用:先將兩個數(shù)交換,然將二者之和送給第一個數(shù)1SUB(減法)寫法:SUB reg/mem, reg/mem/imm;作用:dest=destsrc;SBB(帶借位減法)寫法:SBB reg/mem, reg/mem/imm作用:dest=destsrccf;注意:兩個操作數(shù)必須類型匹配,且不能同時是內(nèi)存數(shù)1DEC(自減1)寫法:DEC reg/mem;作用:dest=dest1;1CMP(比較)寫法:CMP reg/mem, reg/mem/imm作用:destsrc注意:這里并不將結(jié)果存入dest中,而僅僅是執(zhí)行相減的運算,達到依據(jù)運算結(jié)果去影響EFLAG標(biāo)志位的效果1NEG(求補)寫法:NEG reg/mem作用:求補就是求相反數(shù),即:dest=0dest;CMPXCHG(比較交換)寫法:CMPXCHG reg/mem, reg;作用:AL/AX/EAXoprd1,如果等于0,則oprd1=oprd2,否則,AL/AX/EAX=oprd1;即:比較AL/AX/EAX與第一個操作數(shù),如果相等,則置ZF=1,并復(fù)制第二個操作數(shù)給第一個操作數(shù);否則,置ZF=0,并復(fù)制第一個操作數(shù)給AL/AX/EAX。說明:CMPXCHG主要為實現(xiàn)原子操作提供支持CMPXCHG8B(8字節(jié)比較交換指令)寫法:CMPXCHG8B MEM64。功能:將EDX:EAX中的64位數(shù)與內(nèi)存的64位數(shù)進行比較,如果相等,則置ZF=1,并存儲ECX:EBX到mem64指定的內(nèi)存地址;否則,置ZF=0,并設(shè)置EDX:EAX為mem64的8字節(jié)內(nèi)容2MUL(無符號乘法)寫法:MUL reg/mem;作用:當(dāng)操作數(shù)為8位時,AX=AL*src;當(dāng)操作數(shù)為16位時,DX:AX=AX*src;當(dāng)操作數(shù)為32位時,EDX:EAX=EAX*src;2IMUL(帶符號位乘法)寫法:IMUL reg/mem;(作用同上)IMUL reg16,reg16/mem16,imm16;IMUL reg32,reg32/mem32,imm32;IMUL reg16,imm16/reg16/imm16;IMUL reg32,reg32/mem32/imm32;注意:沒有兩個操作數(shù)均為8位的多操作數(shù)乘法。對于同一個二進制數(shù),采用MUL和IMUL執(zhí)行的結(jié)果可能不同,設(shè)AL=0FF,BL=1,分別執(zhí)行下面的指令,會得到不同的結(jié)果:Mul bl; AX=0FFH(255)。Imul bl; AX=0FFFFH(1)(高一半為低一半的擴展)2DIV(無符號除法 )/IDIV(帶符號數(shù)除法)寫法:DIV reg/mem;/IDIC reg/mem作用:如果操作數(shù)是8位,AX%SRC,結(jié)果商在AL、余數(shù)在AH中;如果操作數(shù)是16位,DX:AX%SRC,結(jié)果商在AX,余數(shù)在DX中;如果操作數(shù)是32位,EDX:EAX%SRC,結(jié)果商在EAX,余數(shù)在EDX中;注意:不能直接實現(xiàn)8位數(shù)除8位數(shù)、16位數(shù)除16位數(shù)、32除32,若需要這樣,則必須先把除數(shù)符號擴展或零擴展到1364位,然后用除法指令。對于IDIV,余數(shù)和被除數(shù)符號相同,如:5 IDIV 2 = 商 2,余數(shù):1;在下列情況下,會使CPU產(chǎn)生中斷:一:除數(shù)為0 ;二:由于商太大,導(dǎo)致EAX\AX或AL不能容納,從而產(chǎn)生了溢出。BCD碼調(diào)整指令(十進制調(diào)整指令)待補充2關(guān)于BCD碼:BCD碼就是一種十進制數(shù)的二進制編碼表示,分為壓縮BCD碼和非壓縮BCD碼,壓縮BCD碼用4個二進制位表示一個十進制位,即用0000B~1001B表示十進制0~9,如0110 0100 0010 1001B表示6429用8位二進制來表示一個十進制叫非壓縮BCD碼,其中,低四位與壓縮BCD碼相同,高四位無意義。壓縮BCD碼調(diào)整指令包括DAA(加法的壓縮BCD碼調(diào)整)和DAS(減法的壓縮BCD碼調(diào)整)寫法:DAA。作用:調(diào)整AL中的和為壓縮BCD碼。功能:使用DAA指令時,通常先執(zhí)行ADD/ADC指令,將兩個壓縮BCD碼相加,結(jié)果存放在AL中,然后使用該指令將AL調(diào)整為壓縮BCD碼格式。DAA的調(diào)整算法:IF(AL低4位9 或 AF=1)THENAL=AL+6。AF=1。ENDIFIF( AL高4位9或CF=1)THENAL=AL+60H。CF=1。ENDIF說明:CF反映壓縮BCD碼相加的進位。DAS。作用:調(diào)整AL中的差為壓縮BCD碼。功能:使用DAS指令時,通常先執(zhí)行SUB/SBB指令,將兩個壓縮BCD碼相減,結(jié)果存放在AL中,然后使用該指令將AL調(diào)整為壓縮BCD碼格式。DAS的調(diào)整算法:IF(AL低4位9 或 AF=1)THENAL=AL6。AF=1。ENDIFIF( AL高4位9或CF=1)THENAL=AL60H。CF=1。ENDIF說明:CF反映壓縮BCD碼相減的借位。特別注意,如果使用DAA或DAS指令,則參加加法或減法
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1