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

正文內(nèi)容

[高等教育]第332算術(shù)運(yùn)算類指令-文庫吧資料

2025-01-25 18:50本頁面
  

【正文】 其余情況要借位, CF=1; ② 只有對(duì) 128(字節(jié))或 32768(字)求補(bǔ)時(shí), OF=1,其余情況 OF=0。 第 3章 80x86的指令系統(tǒng)和尋址方式 減法指令總結(jié) 前六條減法指令都可作字或字節(jié)運(yùn)算; 386以上還可作雙字運(yùn)算。Pentium以上 源操作數(shù)為存放于 EDX, EAX中的 64位字 , 目的操作數(shù)可用存儲(chǔ)器尋址方式確定一個(gè) 64位字 。 功能:累加器 ( AL、 AX、 或 EAX) 與 DST比較 , 如 ( AC) =( DST) 則 ZF ← 1, ( DST) ← ( SRC) 否則 , ZF ← 0, ( AC) ← ( SRC) 結(jié)果影響其他標(biāo)志位與 CMP指令相同 。 SRC只能用 8位 、 16位或 32位寄存器 。偏移地址加 2 DEC CX ; 數(shù)的個(gè)數(shù) 減 1 JNZ AGAIN ; 數(shù)的個(gè)數(shù)不為 0,轉(zhuǎn) AGAIN繼續(xù)比較 MOV MAX, AX ; 數(shù)的個(gè)數(shù)為 0, 比較結(jié)束,存 最大值 HLT ; 暫停機(jī) 第 3章 80x86的指令系統(tǒng)和尋址方式 (8)CMPXCHG 比較并交換指令 語句格式: CMPXCHG DST, SRC 。取第一個(gè)數(shù)送 AX INC BX INC BX 。 例 1: A=80,B=5,AB=805=85,(|85| ? |128 |) 沒有溢出( OF=0) ,SF=1時(shí), A?B. 例 2: A=121,B=11,AB=12111=132, 121 1000 0111 11 + 1111 0101 132 0111 1100 有溢出( OF=1) ,SF=0(?) , A?B. 第 3章 80x86的指令系統(tǒng)和尋址方式 例,從 BLOCK開始的內(nèi)存緩沖區(qū)中,存有 100個(gè) 16位帶符號(hào)數(shù),找出其中最大值存入 MAX單元中,編出滿足要求的程序段: MOV BX, OFFSET BLOCK。 第 3章 80x86的指令系統(tǒng)和尋址方式 若兩數(shù)(設(shè)目的操作數(shù)為 A, 源操作數(shù)為 B) 為帶符號(hào)數(shù),又如何來判斷兩數(shù)的大小呢? 首先判斷是否有溢出,然后再用符號(hào)位判斷,來確定兩數(shù)的大小。 表 35 CMP指令運(yùn)算結(jié)果 目的操作數(shù)和源操作數(shù)關(guān)系 OF SF ZF CF 目的操作數(shù)和源操作數(shù)關(guān)系 OF SF ZF CF 無符號(hào)操作數(shù) Dstsrc dst=src dstsrc * * 0 1 * * 1 0 * * 0 0 帶符號(hào)操作數(shù) dst=src dstsrc dstsrc dstsrc dstsrc 0 0 1 * 0 1 0 * 0 0 0 * 1 0 0 * 1 1 0 * 第 3章 80x86的指令系統(tǒng)和尋址方式 從表中可以得知: 用 Z標(biāo)志位可以判斷兩數(shù)是否相等,若兩數(shù)相等, Z標(biāo)志位為 1,否則為 0; 若兩數(shù)不相等,判斷哪一個(gè)數(shù)大,則要用其他標(biāo)志來判斷。然后在比較指令之后緊跟一條轉(zhuǎn)移指令,由標(biāo)志位決定轉(zhuǎn)移條件。例如: CMP [BX], 100 是錯(cuò)誤的。DX與 DI內(nèi)容比較 CMP AX, [BX+DI+100] 。AL中數(shù)與 100比較 CMP AX, 2022H 。 CMP AL, 50 ; ( AL) - 50 JB BELOW ; ( AL) 50, 轉(zhuǎn)到 BELOW處執(zhí)行 SUB AL, 50 ; ( AL) =50, ( AL) - 50→AL INC AH ; ( AH) +1→AH BELOW: … 第 3章 80x86的指令系統(tǒng)和尋址方式 比較指令的 源操作數(shù)可以是立即數(shù)、累加器、寄存器或內(nèi)存操作數(shù); 目的操作數(shù)可以是累加器、寄存器或內(nèi)存操作數(shù)。 即 ( DST) - ( SRC) 。 MOV AL, 85H ; ( AL)=1000 0101B=123D NEG AL ; ( AL)=0111 1011B=123D OF=0 為什么 ? 因?yàn)榍笱a(bǔ)時(shí) 結(jié)果的符號(hào)與減數(shù) ( 123) 不同 , 不溢出 。 MOV AL, 64H 。 如果要想從一個(gè)立即數(shù)中減去一個(gè) 寄存器或存儲(chǔ)單元 內(nèi)的值,用 NEG指令是很方便的。 第 3章 80x86的指令系統(tǒng)和尋址方式 (6)求補(bǔ)指令 NEG 語句格式: NEG OPR ; ( DST) ← 0 ( DST) 功能:將目的操作數(shù) (字或字節(jié) )的每一位求反 ( 包括符號(hào)位 ) 后末位加 1, 結(jié)果送目的地址 。AL內(nèi)容減 1再送回 AL中 DEC BYTE PTR[DI+10H] 。 如: DEC CX 。 即( DST) ← ( DST)- 1。 同時(shí) SF、 ZF、 PF均受影響 。 AL和 BL中 , 各存有一個(gè)非壓縮 BCD數(shù)相減 AAS 。 其他標(biāo)志位 OF、 PF、 SF、 ZF不確定 。 功能:如果 AL的低 4位大于 9或 ( AF) =1, 則: ( AL) =( AL) - 6 ( AH) =( AH) - 1 ( AF) =( CF) =1 AL高 4位清零 。 即 ( DST) ← ( DST) ― ( SRC) ―CF 該指令主要用于多字節(jié)操作數(shù)相減 。SI數(shù)減去立即數(shù) 1000H, 結(jié)果存回 SI中 SUB WORD PTR[DI],1000H 。 SUB AL, 10 。 即 (DST) ← ( DST) - ( SRC) 這條指令可完成兩個(gè)操作數(shù)的字節(jié)或字相減 。 ADC DX, BX 。 第 3章 80x86的指令系統(tǒng)和尋址方式 數(shù)的溢出 CF位則可用來表示無符號(hào)數(shù)的溢出, OF位可以用來表示帶符號(hào)數(shù)的溢出 。 例 XADD BL, DL 如指令執(zhí)行前 ( BL) =12H, ( DL) =02H 則指令執(zhí)行后 ( BL) =14H, ( DL) =12H 第 3章 80x86的指令系統(tǒng)和尋址方式 加法指令總結(jié) 三條加法指令都可作字或字節(jié)運(yùn)算; 除 INC指令不影響 CF標(biāo)志 外,它們都影響條件標(biāo)志位; 3 、 條件標(biāo)志位的影響見下: 返回本節(jié)首頁 第 3章 80x86的指令系統(tǒng)和尋址方式 條件標(biāo)志位的影響 3 、 條件標(biāo)志位最主要的是 CF、 ZF、 SF、 OF ① 運(yùn)算結(jié)果為零,則 ZF=1, 否則 ZF=0; ② 運(yùn)算結(jié)果為負(fù),則 SF=1, 否則 SF=0; ③ 運(yùn)算有進(jìn)位時(shí), CF=1, 否則 CF=0; ④ 兩操作數(shù)的符號(hào)相同,而結(jié)果的符號(hào)與之相反時(shí), OF=1( 有溢出),其余情況 OF=0。 INC BYTE PTR [BX+DI+10H] 。 例如: INC CX ; 寄存器中字加 1,即( CX) +1→CX 。 此指令主要用于在循環(huán)程序中修改地址指針和循環(huán)次數(shù)等。校正后 AL中得正確十進(jìn)制數(shù)的結(jié)果 86 第 3章 80x86的指令系統(tǒng)和尋址方式 【例 2】壓縮 BCD碼的加法運(yùn)算。壓縮十進(jìn)制數(shù) 37+49=86 ADD AL, 49H 。 方法是:如果 AL的低四位所存值大于 9,或標(biāo)志位 AF為 1,則把 AL加上 6,并置標(biāo)志位 AF為 1;如果 AL的高四位所存值大于 9,或標(biāo)志位 CF為 1,則把 AL加上 60H, 并置標(biāo)志位 CF為 1。 如在 AL和 BL中,如各存有一個(gè)非壓縮 BCD數(shù)相加,其和存在 AL中也是非壓縮 BCD數(shù),可用如下程序段: MOV AL, 09H ; 非壓縮 BCD數(shù)表示為 0000 1001 MOV BL, 06H ; 非壓縮 BCD數(shù)表示為 0000 0110 ADD AL, BL ; 兩數(shù)相加 ,結(jié)果為 0000 1111,不是非壓縮 BCD數(shù) AAA ; 必須用 AAA指令進(jìn)行 校正,最后 結(jié)果為( AH) =0000 0001,( AL)=0000 0101,( AF) =( CF) =1 第 3章 80x86的指令系統(tǒng)和尋址方式 (4)加法十進(jìn)制校正指令 DAA 所謂壓縮十進(jìn)制數(shù),就是把數(shù)字 0 ?9的 ASCII碼的低四位分別放在一個(gè)字節(jié)的高低四位后形成的數(shù)碼,如 63為0110 0011, 39為 0011 1001。即: ( AL) =( AL) +6 ( AH) =( AH) +1 ( AF) =( CF) =1 且 AL高 4位清零 。 AAA指令 (ASCII Ajust for Addition)是對(duì)兩個(gè)非壓縮的十進(jìn)制數(shù)相加后 AL的和進(jìn)行校正 。兩高 16位數(shù)帶進(jìn)位相加后的和存入 2022H和 2022H兩單元 第 3章 80x86的指令系統(tǒng)和尋址方式 (3)非壓縮十進(jìn)制數(shù)的加法校正指令 所謂非壓縮十進(jìn)制數(shù),就是把數(shù)字 0 ?9的 ASCII碼的高四位置 0以后形成的數(shù)碼,如 6為 00000110, 9為 00001001。第一個(gè)數(shù)高 16位送 AX ADC AX, [DI+2], 。兩數(shù)低 16位相加 MOV [SI], AX 。第一個(gè)數(shù)低 16位送 AX MOV DI, 3000H 。 0234 4657H+ 0F0F 0F0FH MOV AX, 4652H ; ( AX) =4652H 送低字 MOV DX, 0234H ; ( DX) =0234H 送高字 ADD AX, 0F0F0H ; ( AX) =
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1