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

正文內(nèi)容

匯編語言課程課件-第五章(參考版)

2025-05-14 06:32本頁面
  

【正文】 .data var dword ? .code start: shrd var, ecx , 13 shrd var, ebx , 12 shrd var, eax , 7 例 549: 數(shù)據(jù)組合 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 教學要求 熟練掌握數(shù)據(jù)傳送,算術(shù)運算和位操作的編程方法; 掌握常用的數(shù)據(jù)操作指令; 能夠編程實現(xiàn)簡單的數(shù)據(jù)變換和組合 。 假設 EAX低 7位有效 , EBX低 12位有效 , ECX低 13位有效組合到雙字變量 var中以后 ,var的高 7位為 EAX, 中間 12位是 EBX,低 13位為 ECX。 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 雙精度移位指令對標志的影響 按照指令功能設置進位標志 CF 根據(jù)結(jié)果設置 SF、 ZF、 PF、 AF 如果進行一位移動,則按照操作數(shù)的最高符號位是否改變,相應設置溢出標志 OF:如果移位前的操作數(shù)最高位與移位后操作數(shù)的最高位不同(有變化),則 OF = 1;否則 OF = 0。 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 SHRD執(zhí)行的功能 SHRD將第一個操作數(shù) r16/m16右移 CL/i8位,空出的低位部分由第二個操作數(shù)從右邊起的 CL/i8位填充,相當于組合數(shù)據(jù)右移CL/i8位。 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 SHLD執(zhí)行的功能 SHLD將第一個操作數(shù) r16/m16左移 CL/i8位,空出的低位部分由第二個操作數(shù)從左邊起的 CL/i8位填充,相當于組合數(shù)據(jù)左移CL/i8位。低四位對應的十六進制字符存入 HexStr+1 例 547( 3/3) : 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 實現(xiàn)雙精度操作數(shù)的移位 SHLD r16/m16,r16,CL/i8 SHLD r32/m32,r32,CL/i8 SHRD r16/m16,r16,CL/i8 SHRD r32/m32,r32,CL/i8 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 雙精度移位指令的操作數(shù) 雙精度移位指令中有三個操作數(shù) 。取 AL的低四位 Xlat 。取 al的高四位 xlat;換碼 。 …… .data ASCII byte ‘0123456789ABCDEF’ ; 0~9, A~F對應的 ASCII碼表 HexStr byte 2 dup(?),0 ;存放轉(zhuǎn)換后的十六進制字符串 x byte ? 。 .code start: shl ecx, 1 rcl ebx, 1 rcl eax, 1 例 545: EAX EBX ECX CF 例 546: 把 EAX最低位送 EBX最低位 , 但保持 EAX不變 ror ebx,1 ror eax,1 rcl ebx,1 rol eax,1 例 546: 。edx←7 ebx+ 3 eax 例 544: 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 循環(huán)移位指令 將操作數(shù)從一端移出的位返回到另一端形成循環(huán),分成不帶進位和帶進位,分別具有左移或右移操作 ROL reg/mem,1/CL/i8 ;不帶進位循環(huán)左移 ROR reg/mem,1/CL/i8 ;不帶進位循環(huán)右移 RCL reg/mem,1/CL/i8 ;帶進位循環(huán)左移 RCR reg/mem,1/CL/i8 ;帶進位循環(huán)右移 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 循環(huán)移位指令功能示意圖 圖 52 循環(huán)移位指令的示意圖 ( a)左循環(huán)移位 ROL 操作數(shù) MSBLSB CF ( b)右循環(huán)移位 ROR 操作數(shù) MSBLSB CF ( c)帶進位左循環(huán)移位 RCL 操作數(shù) MSBLSB CF ( d)帶進位右循環(huán)移位 RCR 操作數(shù) MSBLSB CF 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 循環(huán)移位指令對標志的影響 按照指令功能設置進位標志 CF 不影響 SF、 ZF、 PF、 AF 如果進行一位移動,則按照操作數(shù)的最高符號位是否改變,相應設置溢出標志 OF:如果移位前的操作數(shù)最高位與移位后操作數(shù)的最高位不同(有變化),則 OF = 1;否則 OF = 0。edx←8 ebx sub edx,ebx 。esi←2 eax add esi,eax 。 利用移位指令計算 EDX←3 EAX+ 7 EBX,假設為無符號數(shù)運算 , 無進位 。 操作數(shù)算術(shù)右移一位,相當于有符號數(shù)除以2,右移 n位,相當于有符號數(shù)除以 2n。eax=004ebh 。eax=04eb0h 。CF=1, SF= ZF=0、 PF=1 OF=0 。eax=0a9d7h sar eax,1。eax=54ebh 。當移位次數(shù)大于 1時, OF不確定 mov cl,4 mov eax,0a9d7c6e5h。ZF=1 例 542: 位掃描指令 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 移位指令 將操作數(shù)移動一位或多位,分成邏輯移位和算術(shù)移位,分別具有左移或右移操作 SHL reg/mem,1/CL/i8 ;邏輯左移,最高位進入 CF,最低位補 0 SHR reg/mem,1/CL/i8 ;邏輯右移,最低位進入 CF,最高位補 0 SAL reg/mem,1/CL/i8 ;算術(shù)左移,最高位進入 CF,最低位補 0 SAR reg/mem,1/CL/i8 ;算術(shù)右移,最低位進入 CF,最高位不變 SAL與 SHL相同 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 移位指令功能示意圖 圖 51 移位指令的示意圖 ( a)邏輯 /算術(shù)左移 SHL/SAL 操作數(shù) MSBLSB 0 CF ( b)邏輯右移 SHR 操作數(shù) MSBLSB 0 CF ( c)算術(shù)右移 SAR 操作數(shù) MSBLSB CF 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 移位指令的操作數(shù) 移位指令的第一個操作數(shù)是指定的被移位的操作數(shù),可以是寄存器或存儲單元 后一個操作數(shù)表示移位位數(shù) ,該操作數(shù) 為 1,表示移動一位;當移位位數(shù) 大于 1時,在 16位應用程序中用 CL寄存器值表示,該操作數(shù)表達為 CL,在 32位應用程序中仍可使用立即數(shù)表示。ax=12( var的 D12=1) ,ZF=0 mov eax, 0 bsf ebx, eax 。ebx=3( eax的 D3=1) ,ZF=0 bsf ax, var 。 如果源操作數(shù)是 0, ZF=1;否則 ZF=0。 如果源操作數(shù)是 0, ZF=1;否則 ZF=0。 CF=0,并將 eax的 D20位取反 ,eax=102367h ret 例 541:位測試指令 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 對一個 16位或 32位的通用寄存器或存儲器操作數(shù)進行掃描,將出現(xiàn)的第一個 “ 1”的位置放入指定的寄存器中。 CF=0,并置 var 的 D10位為 1, ax=2767h btr ax, 1 。 BT對 CF以外的其它標志位未定義 BT r16/m16, r16/i8 BT r32/m32, r32/i8 .data var word 1234H .code mov eax, 2367h mov ecx, 3 bt eax, 1 ;測試 eax的 D1位 , CF=1 bt eax, ecx;測試 eax的 D3位 , CF=0 bt var, cx ;測試 var的 D3位, CF=0 例 540: 位測試指令 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 位測試并置位指令 BTS 將目的操作數(shù)中由源操作數(shù)指定的位送給 CF標志 ,并將目的操作數(shù)中該位置 1 BTS對 CF以外的其它標志位未定義 BTS r16/m16, r16/i8 BTS r32/m32, r32/i8 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 位測試并置位指令 BTR 將目的操作數(shù)中由源操作數(shù)指定的位送給 CF標志 ,并將目的操作數(shù)中該位置 0. BTR對 CF以外的其它標志位未定義 BTR r16/m16, r16/i8 BTR r32/m32, r32/i8 鄭州大學 計算機系 穆玲玲 32位匯編語言程序設計 位測試并置位指令 BTC 將目的操作數(shù)中由源操作數(shù)指定的位送給 CF標志 ,并將目的操作數(shù)中該位求反 . BTC對 CF以外的其它標志位未定義 BTC r16/m16, r16/i8 BTC r32/m32, r32/i8 .data var word 1237h .code start: mov eax, 2367h mov ecx, 3 bts eax, ecx 。 位數(shù)從最右邊開始,從 0計數(shù)。所有標志位都
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1