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

正文內(nèi)容

匯編指令分類的介紹-全文預(yù)覽

2025-04-30 01:49 上一頁面

下一頁面
  

【正文】 能:AL/AX/EAXES:[DI]。IF (DF=0) THENSI=SI+size。DI=DIsize。 IF=1標(biāo)志處理指令結(jié)束串操作指令開始到這為止,所涉及的指令都是處理一個(gè)操作數(shù),如果要處理連續(xù)內(nèi)存單元的一批數(shù)據(jù),通常需借助于循環(huán)。 CF=NOT CFCLD 。3IN T(中斷指令)寫法:INT n;(n為中斷號(hào),取值為0~255)通常,程序內(nèi)部的跳轉(zhuǎn),用JMP或CALL,并且JMP和CALL得參數(shù)是要跳轉(zhuǎn)的過程的入口指令地址,而INT則是調(diào)用系統(tǒng)提供的中斷服務(wù)程序,并且參數(shù)是中斷號(hào),然后由CPU根據(jù)中斷號(hào)去計(jì)算中斷服務(wù)程序的入口地址,MS DOS使用中斷號(hào)21H作為系統(tǒng)調(diào)用,一般INT中斷的步驟如下:(1)由AH給出中斷號(hào)(2)根據(jù)相應(yīng)功能的要求,設(shè)置入口參數(shù)(3)INT 21H(4)分析和使用出口參數(shù)比如如下代碼實(shí)現(xiàn)程序的退出并返回DOS:Mov ah,4ch;給出中斷號(hào)Int 21h; 開始中斷說明:除了直接以AL或AX返回出口參數(shù)外,INT 21H還是用AL或AX作為返回碼,對(duì)于功能號(hào)0~2eh,由AL返回0(表示成功)或1(表示失?。?;其余功能號(hào)則由CF返回0或者1,并由AX返回錯(cuò)誤碼。 近返回或遠(yuǎn)返回RETN; 近返回;RETF。若CX0且 ZF=1,則轉(zhuǎn)移到label;LOOPNZ/LOOPNE label;作用:CX=CX1。3Jcc(條件轉(zhuǎn)移指令)寫法:Jcc label;作用:若條件成立,則IP=label的偏移地址,否則,CPU將忽略該條件轉(zhuǎn)移,繼續(xù)執(zhí)行下一條指令。若label與該指令位于同一代碼段內(nèi),IP=label的偏移地址,否則CS:IP=label的分段地址,簡(jiǎn)單的說,就是跳到label的地址去。若SRC=0,即沒有1出現(xiàn),則置ZF=1,且dest的值不確定。當(dāng)然,index最好不要超出操作數(shù)的位數(shù)?;駼TR REG32/MEM32,REG32/IMM8。作用:CF=DEST的第index位,dest不變。RCR(帶進(jìn)位循環(huán)右移)寫法:RCR REG\MEM, 1\CL;或 RCR REG/MEM,IMM8。ROR(循環(huán)右移)寫法:ROR REG\MEM, 1\CL;或 ROR REG/MEM,IMM8。CF為最后移入位;按一般規(guī)則影響ZF與SF。(類型須匹配)作用:將OPRD1的各二進(jìn)制左移,并將oprd1的最高位移到CF,oprd2的最高位移到oprd1的最低位,但是,oprd2的值不變。作用:將dest的各個(gè)二進(jìn)制位向左移動(dòng)1(CL)位,并將DEST的最低位移出到CF,最高位移入0。作用:將dest的各個(gè)二進(jìn)制位向左移動(dòng)1(CL)位,并將DEST的最高位移出到CF,最低位移入0。作用:AND\TEST\OR\XOR,兩個(gè)操作數(shù)必須類型匹配,而且不能同時(shí)是內(nèi)存操作數(shù)。OR reg/mem,reg/mem/imm。作用:AL=AH*10+AL,AH=0。ENDIFAL=AL AND OFH。AAA調(diào)整算法:IF(AL低4位9 或者 AF=1)THENAL=AL6;AH=AH1;AF=1。CF=0。AH=AH+1。而CF就是最高位有進(jìn)位或者借位時(shí),為1.非壓縮BCD碼調(diào)整指令,包括AAA,AAS,AAM,AAD。CF=1。功能:使用DAS指令時(shí),通常先執(zhí)行SUB/SBB指令,將兩個(gè)壓縮BCD碼相減,結(jié)果存放在AL中,然后使用該指令將AL調(diào)整為壓縮BCD碼格式。CF=1。功能:使用DAA指令時(shí),通常先執(zhí)行ADD/ADC指令,將兩個(gè)壓縮BCD碼相加,結(jié)果存放在AL中,然后使用該指令將AL調(diào)整為壓縮BCD碼格式。對(duì)于IDIV,余數(shù)和被除數(shù)符號(hào)相同,如:5 IDIV 2 = 商 2,余數(shù):1;在下列情況下,會(huì)使CPU產(chǎn)生中斷:一:除數(shù)為0 ;二:由于商太大,導(dǎo)致EAX\AX或AL不能容納,從而產(chǎn)生了溢出。說明:CMPXCHG主要為實(shí)現(xiàn)原子操作提供支持CMPXCHG8B(8字節(jié)比較交換指令)寫法:CMPXCHG8B MEM64。數(shù)據(jù)傳送指令結(jié)束(貌似這是一個(gè)方便偷懶的指令哦。通常用在將數(shù)據(jù)復(fù)制到一個(gè)不同的寄存器中,如AL零擴(kuò)展為EBX。pop cx;保護(hù)寄存器:push ax;push cx;….中間有很多執(zhí)行的代碼…pop cx。POPA出棧順序正好相反,但要注意的是,彈出到SP的值被丟棄,SP通過增加16位來恢復(fù)(當(dāng)然嘛,不然棧頂?shù)刂肪捅恍薷牧?,就?huì)出息不對(duì)齊的情況,就有可能亂套了)POPAD PUSHAD一樣,只不過是32位的罷了。堆棧,位于內(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í),正好相反,把啤酒給倒出來,棧頂向高地址方向移動(dòng)。di=5注意,這里裝入的是有效地址,并不是實(shí)際的內(nèi)存中的數(shù)值,如果要想取內(nèi)存中該地址對(duì)應(yīng)的數(shù)值,還需要加上段地址才行,而段地址有可能保存在DS中,也有可能保存在SS或者CS中哦:不知道我的理解可正確。LEA(裝入有效地址)指令寫法:LEZ reg16,mem功能描述:將有效地址MEM的值裝入到16位的通用寄存器中。雙字傳送。MOV、WORD PTR、target,source功能描述:將源操作數(shù)source的值復(fù)制到target中去,source值不變注意事項(xiàng):1)target不能是CS(代碼段寄存器),我的理解是代碼段不可寫,只可讀,所以相應(yīng)這地方也不能對(duì)CS執(zhí)行復(fù)制操作。.. .. .. ..匯編指令全集ZZ有時(shí),需要用BYTE PTRdl,01H。 eax =ss:[bp]2)類型必須匹配3)兩個(gè)操作數(shù)任何一個(gè)都不能是段寄存器【看來段寄存器的寫入的限制非常的嚴(yán)格,MOV指令也不能對(duì)段寄存器進(jìn)行寫入】,4)必須是通用寄存器(ax、bx、cx、dx、si、di)或內(nèi)存數(shù)寫法示例:XCHGLea si,2[bx]si=567AH寫法:LDS reg16,mem32在接著往下說之前,先熟悉下堆棧的概念。在匯編語言中,堆棧操作的最小單位是字,也就是說,只能以字或雙字為單位,同時(shí),SS:SP指向棧頂(SS為堆棧段寄存器,SP為堆棧指針,二者一相加,就構(gòu)成了堆棧棧頂?shù)膬?nèi)存地址)。將AX、CX、DX、BX、原SP、BP、SI、DI依次進(jìn)棧。;FLAGS進(jìn)棧和PUSH通??梢杂脕斫粨Q兩個(gè)寄存器的值,也可以用來保護(hù)寄存器的值,如下:交換ax與cx的值:push ax;push cx;pop ax;AX符號(hào)擴(kuò)展為EAX;CDQ:EAX符號(hào)擴(kuò)展為6
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1