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

正文內(nèi)容

微機(jī)原理課件-第3章s(編輯修改稿)

2025-02-17 22:50 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 DH DL 44 堆棧的作用 ? 主要用來存放寄存器或存儲(chǔ)器中暫時(shí)不用又必須保存的數(shù)據(jù)。如調(diào)用子程序或響應(yīng)中斷時(shí)保護(hù)斷點(diǎn)地址; ? 堆棧操作數(shù)可以是 16位通用寄存器、段寄存器、存儲(chǔ)器; ? PUSH和 POP一般是成對(duì)出現(xiàn)的,且執(zhí)行順序相反,以保持堆棧原有的狀態(tài)。 ? 也可以通過修改 SP的值來恢復(fù)堆棧原有的狀態(tài); 45 字位擴(kuò)展指令 擴(kuò)展規(guī)則:在高位添加符號(hào)位,即符號(hào)位擴(kuò)展到整個(gè)高 8位或高 16位。 例如:有符號(hào)數(shù) 0010 0100B 擴(kuò)展為一個(gè)字: 0024H 有符號(hào)數(shù) 1000 0100B 擴(kuò)展為一個(gè)字: FF84H 共有 2條指令: CBW ;隱含操作數(shù) AL、 AH CWD ;隱含操作數(shù) AX、 DX 例: MOV AL,8EH CBW ; (AX)=FF8EH 例 : MOV AX,43FFH CWD ; (DX:AX)=000043FFH 46 輸入輸出 (I/O)指令 8088系統(tǒng)可連接多個(gè)外設(shè)端口, CPU通過編址來區(qū)分它們;只有累加器 AL或 AX可以與 I/O端口進(jìn)行數(shù)據(jù)交換;所以也稱為累加器專用傳送指令。 2種 (特定 )尋址方式: 直接尋址(端口地址 8位); 寄存器間接尋址(端口地址 16位); 如 : OUT 25H, AL。 IN AL,25H。 OUT 25H, AX。 IN AX,25H。 如 : MOV DX,03F8H。 IN AL,DX。 OUT DX,AL。 IN AX,DX。 OUT DX,AX。 47 地址傳送指令 3條地址傳送指令: LEA、 LDS、 LES LEA BX,BUFFER 說明:源操作數(shù)必須是存儲(chǔ)器操作數(shù);目的操作數(shù)必須是 16位通用寄存器, 通常是地址指針寄存器。 如: LEA SI ,DATA LEA DI ,EDATA LEA BP ,SDATA 48 例:設(shè) (BX)=1000H,(DS)=6000H, (61050H)=33H, (61051H)=44H;比較一下兩條指令的執(zhí)行結(jié)果: LEA BX,[BX+50H] MOV BX,[BX+50H] 33H 44H … … 61050H 61051H 44H 33H 10H 50H DS段 49 標(biāo)志傳送指令 標(biāo)志傳送指令共有 4條: LAHF和 SAHF, PUSHF和 POPF; PUSHF指令將標(biāo)志寄存器 FLAGS壓入堆棧; POPF指令將當(dāng)前棧頂?shù)膬蓚€(gè)單元的內(nèi)容彈出到標(biāo)志寄存器 FLAGS; 這兩條指令常用在過程調(diào)用時(shí)保護(hù)標(biāo)志位,調(diào)用結(jié)束時(shí)恢復(fù)標(biāo)志位; 50 算 術(shù) 運(yùn) 算 加法指令 ADD, ADC, INC 減法指令 SUB, SBB, DEC, NEG, CMP 乘法指令 MUL, IMUL 除法指令 DIV, IDIV 十進(jìn)制調(diào)整指令 DAA, AAA, DAS, AAS, AAM, AAD 邏輯運(yùn)算和移位指令 AND, OR, NOT, XOR, TEST, SHL, SAL, SHR, ROL, ROR, RCL, RCR 51 8088的算術(shù)運(yùn)算指令可以實(shí)現(xiàn)字節(jié)、字的運(yùn)算,無符號(hào)數(shù)、有符號(hào)數(shù)的運(yùn)算。 加法、減法運(yùn)算指令會(huì)影響 Flags的全部 6個(gè)狀態(tài)標(biāo)志。 源操作數(shù)和目的操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù),不能對(duì)段寄存器進(jìn)行運(yùn)算。 52 加法運(yùn)算 如: ADD CL,20H ADD AX,SI ADD DATA[BX],AL ADD DX,[BX+SI] 如 : ADC AX,CX ADC DX,BX INC AX, INC BL INC BYTE PTR[SI] INC指令不影響 CF標(biāo)志位,操作數(shù)不能為立即數(shù)。 以下非法: ADD [SI],[BX] ADD DS,AX 53 減法運(yùn)算 1. SUB BL,30H SUB AX,[BX+SI] 2. SBB BL,30H SBB WORD PTR[SI],1034H 3. DEC AX DEC BL DEC BYTE PTR[DI] 54 例 326 求兩個(gè) 4字節(jié)無符號(hào)數(shù) 0107A379H和10067E4FH的和。 MOV DX,0107H MOV AX,A379H MOV BX,1006H MOV CX,7E4FH ADD AX,CX ADC DX,BX 55 4. 求補(bǔ)指令 NEG NEG BX ;用 0減去 BX ,CF=1 MOV AL,80H NEG AL ; CF=1, OF=1 5. 比較指令 CMP BX,2100H CMP CL,DH CMP AX,[BX+SI+4] 判斷是否相等、比較大小 56 3. 乘法指令 (1) 無符號(hào)數(shù)乘法 格式: MUL OP 功能: AX← AL OP 8位數(shù)乘法 (DX、 AX)← AX OP 16位數(shù)乘法 (2) 帶符號(hào)數(shù)乘法 格式: IMUL OP 功能: 操作同上,但是操作數(shù)為帶符號(hào)數(shù) 57 ┇ BX XXH AL XXH AX 例: MUL BYTE PTR[BX] 58 注意: ( 1)進(jìn)行字節(jié)運(yùn)算時(shí), OP目必須是 AL, 乘積在 AX中;進(jìn)行字運(yùn)算時(shí), OP目必須是 AX, 乘積在 DX、 AX中。 源操作數(shù)不允許使用立即數(shù)尋址方式。 ( 2)運(yùn)算結(jié)果 只影響 CF、 OF, 其他的無定義。 ( 3) 對(duì)于 MUL,若字節(jié)型數(shù)據(jù)相乘之積 AH=0或字?jǐn)?shù)據(jù)相乘之積 DX=0, 則 CF=OF=0, 否則 CF=OF=1; 對(duì)于 IMUL指令,若字節(jié)數(shù)據(jù)相乘之積 AH或字?jǐn)?shù)據(jù)相乘之積 DX的內(nèi)容是低一半的符號(hào)擴(kuò)展,則 CF=OF=0, 否則 CF=OF=1。 59 例: MUL BL ; AL BL?AX中 MUL CX ; AX CX? DX AX MUL BYTE PTR [DI]; AL (DI)?AX IMUL BX ; AX和 BX中的兩個(gè)有符號(hào)數(shù)相乘 , 結(jié)果在DX和 AX中 例 : 設(shè)在 M1和 M2單元中各有一個(gè) 16位無符號(hào)數(shù),求其乘積,將結(jié)果存于從 R開始的字單元中。 MOV AX, M1 MUL M2 MOV R, AX MOV R+2, DX 60 4. 除法指令 指令要求 被除數(shù)是除數(shù)的雙倍字長(zhǎng) ,即當(dāng)除數(shù)是8/16位時(shí),要求被除數(shù)是 16/32位的二進(jìn)制數(shù)。 ( 1)無符號(hào)數(shù)除法 格式: DIV OP 功能: ( 2) 帶符號(hào)數(shù)除法 格式: IDIV OP 功能:操作同 DIV,但是操作數(shù)為帶符號(hào)數(shù) 字節(jié)除法: AX/OP AL =商, AH =余數(shù) 字除法: (DX、 AX)/OP AX =商, DX =余數(shù) 61 注意: (1) 當(dāng)除數(shù)是字節(jié)時(shí),被除數(shù)必須放在 AX中, 當(dāng)除數(shù)是字時(shí),被除數(shù)必須放在 DX, AX中。 (2) 商超出規(guī)定的范圍時(shí),將產(chǎn)生 0號(hào)中斷。 (3) IDIV運(yùn)算結(jié)果余數(shù)的符號(hào)與被除數(shù)相同。 (4) 帶符號(hào)數(shù)除法運(yùn)算中,當(dāng)被除數(shù)位數(shù)不夠時(shí),則需將被除數(shù)擴(kuò)展到所需的位數(shù)。( 8086/8088設(shè)有帶符號(hào)數(shù)擴(kuò)展指令) 62 例: DIV CL ; AX/CL,商 ??AL,余數(shù) ?AH IDIV BYTE PTR[DI] ; AX中 16位數(shù)除以 DI所指單元中的 8位數(shù) , 商 ?AL, 余數(shù) ?AH 63 邏輯運(yùn)算 AND AL,0FH AND CX,0FF00H AND AX,BX AND AX,[BX]DATA AND AX,AX ;清零 CF=OF=0 OR AL,20H OR AX,00FFH OR [BX],AL 64 OR AL,AL JPE CONTINUE OR AL,80H CONTINUE: …… NOT AX NOT CL NOT WORD PTR[SI] 65 XOR AX,1122H XOR AL,[BX] XOR AX,AX 。AX=0 TEST AL,02H TEST AX,8000H 邏輯運(yùn)算指令使 CF=OF=0,影響 SF PF ZF,但AF值不定。 66 移位指令 非循環(huán)移位指令和循環(huán)移位指令兩種; 4條非循環(huán)移位指令: 算術(shù)左移指令 SAL(shift arithmetic left) 算術(shù)右移指令 SAR(shift arithmetic right) 邏輯左移指令 SHL(shift logic left) 邏輯右移指令 SHR(shift logic right) 例: SAL AL,1 SHL AX ,1 SAL AL,CL SHL AX ,CL 說明:對(duì)寄存器操作數(shù)或內(nèi)存操作數(shù)進(jìn)行指定次數(shù)的移位,移動(dòng)的次數(shù)放在 CL中; 參考 67 算術(shù)左移指令 SAL、邏輯左移指令 SHL 在移動(dòng)次數(shù)為 1的情況下,若移位之后,操作數(shù)的最高位與 CF標(biāo)志位的值不相等,則溢出標(biāo)志 OF=1,否則 OF=0。 算術(shù)左移指令 SAL將操作數(shù)視為有符號(hào)數(shù);因此OF=1,溢出。 邏輯左移指令 SHL將操作數(shù)視為無符號(hào)數(shù),左移1位相當(dāng)于將該數(shù)乘 2,左移 n位相當(dāng)于將該數(shù)乘 2n CF 0 D0 D7 參考 68 例 37:把以 DATA為首址的兩個(gè)連續(xù)單元中的 16位無符號(hào)數(shù)乘以 10; LEA SI,DATA MOV AX,[SI] SHL AX,1 MOV BX,AX MOV CL,3 MOV AX,[SI] SHL AX,CL ADD AX,BX HLT LEA SI,DATA MOV AX,[SI] MOV BX,10 MUL BX HLT 參考 69 邏輯右移指令 SHR 影響標(biāo)志位 CF和 OF。如果移動(dòng)次數(shù)為 1,若移位之后操作數(shù)的最高位與次高位的值不相等,則溢出標(biāo)志 OF=1,否則 OF=0。如果移動(dòng)次數(shù)不為 1,則 OF狀態(tài)不定。 例如: SHR AL,1 SHR BX,CL SHR BYTE PTR[SI],CL 邏輯右移 1位,相當(dāng)于無符號(hào)數(shù)除以 2 CF 0 參考 70 算術(shù)右移指令 SAR 算術(shù)右移指令 SAR將操作數(shù)視為有符號(hào)數(shù); 算術(shù)右移指令 SAR也可以完成有符號(hào)操作數(shù)除以2n的運(yùn)算; SAR AL,1 SAR SI,CL SAR WORD PTR[BX],1 CF 參考 71 循環(huán)移位指令 4條循環(huán)移位指令: 不帶進(jìn)位標(biāo)志位 CF的循環(huán)左移指令 ROL 不帶進(jìn)位標(biāo)志位
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1