




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第 3 章 8086CPU 指令系統(tǒng)1. 寫出完成下列要求的變量定義語(yǔ)句:( 1)在變量var1 中保存 6個(gè)字變量:4512H, 4512,1, 100/3 , 10H, 65530;( 2)在變量var2 中保存字符串:BYTE , word , WOR;D( 3)在緩沖區(qū)buf1 中留出 100個(gè)字節(jié)的存儲(chǔ)空間;(4)在緩沖區(qū)buf2中,保存5個(gè)字節(jié)的55H,再彳存10個(gè)字節(jié)的240,并將這一過程重復(fù) 7 次;( 5)在變量var3 中保存緩沖區(qū)buf1 的長(zhǎng)度;( 6)在變量pointer 中保存變量var1 和緩沖區(qū)buf1 的偏移地址。解: var1 DW4512H,4512,-1
2、,100/3,10H,65530var2DB BYTE ,word,WORDbuf1DB100 DUP( ?)buf2DB7 DUP( 5 DUP(55H),10 DUP( 240) )var3DBLENGTH buf1pointer DW var1,buf1 (或者 pointer DW OFFSET var1, OFFSET buf1)2. 設(shè)變量 var1 的邏輯地址為0100: 0000,畫出下列語(yǔ)句定義的變量的存儲(chǔ)分配圖:var1 DB 12,12, 20/6 , 4 DUP( 0, 55H)var2 DB Assemble var3 DW AB , cd , Evar4 DW va
3、r2var5 DD var2解:0100;0000Hvarl000 BHvar40CH41HO019H0&H3.指令正i吳判斷,對(duì)正F4i 03H 00H ,5H COH 力HOOH 55H OOH 55H.確指Q013H4寫出源和目外工且73H65H6DH62H6CH65H42H41H64H63H mHJ操作叁001BH次的尋址方式,OOH0&H OOHCOH 01H對(duì)錯(cuò)1yarS吳指令指出原因(設(shè)VAR1, VAR2為字變量,L1為標(biāo)號(hào)):(1)MOV SI, 100(2)MOV BX VAR1SI(3)MOV AX, BX(4)MOV AL, DX(5)MOV BP, A
4、L(6)MOV VAR1, VAR2MOV CS, AX(8)MOV DS, 0100H(9)MOV BXSI, 1(10)MOV AX, VAR1+VAR2(11)ADD AX, LENGTH VAR1(12)OR BL, TYPE VAR2(13)SUB DI, 78H(14)MOVS VAR1, VAR2(15)PUSH 100H(16)POP CS(17)XCHG AX, ES(18)MOV DS, CS(19)JMP L1+5(20)DIV AX, 10(21)SHL BL, 2(22)MOV AL, 15+23(23)MUL CX(24)XCHG CL, SI(25)ADC CS:
5、0100, AH(26)SBB VAR卜 5,154解:(1)MOV SI,100正確。源:立即數(shù)尋址,目的:寄存器尋址(2)MOV BX,VAR1SI正確。源:寄存器相對(duì)尋址,目的:寄存器尋址(3)MOV AX,BX正確。源::寄存器間接尋址,目的:寄存器尋址(4)MOV AL,DX錯(cuò)誤。寄存器間接尋址時(shí),DX, AX, CX 不能作地址寄存器(5)MOV BP,AL錯(cuò)誤。操作數(shù)類型不一致(6) MOV VAR1,VAR2錯(cuò)誤。兩存儲(chǔ)單元之間不能用MOV指令傳送數(shù)據(jù)7 MOV CS,AX錯(cuò)誤。 CS 不能為目的操作數(shù)8 MOV DS,0100H錯(cuò)誤。目的操作數(shù)為段寄存器時(shí),源操作數(shù)不能為立即
6、數(shù)目的操作數(shù)為段寄存器時(shí),源操作數(shù)不能為立即數(shù)9 MOV BXSI , 1錯(cuò)誤。指令類型不定。指令類型不定。10MOV AX,V AR1+V AR2錯(cuò)誤。 MOV 指令中不能完成加法運(yùn)算11ADD AX,LENGTH V AR1正確。源:立即數(shù)尋址。目的:寄存器尋址12OR BL,TYPE V AR2正確。源:立即數(shù)尋址。目的:寄存器尋址13SUB DI,78H錯(cuò)誤。指令類型不定14MOVS V AR1,VAR2正確。目的、源均為隱含尋址。操作數(shù)僅指出操作數(shù)類型目的、源均為隱含尋址。操作數(shù)僅指出操作數(shù)類型15PUSH100H錯(cuò)誤。將常數(shù)壓入堆棧,要通過寄存器來實(shí)現(xiàn)將常數(shù)壓入堆棧,要通過寄存器來
7、實(shí)現(xiàn)16POPCS錯(cuò)誤。目的操作數(shù)不能為CS17XCHGAX, ES錯(cuò)誤。 XCHG 指令的操作數(shù)不能是段寄存器18MOVDS, CS錯(cuò)誤。 MOV 指令不能從段寄存器到段寄存器19JMPL1+5正確。段內(nèi)直接轉(zhuǎn)移20DIVAX ,10錯(cuò)誤。指令格式錯(cuò)誤。21SHLBL,錯(cuò)誤。移位指令的移位數(shù)為1 或者 CL22MOVAL ,15+23正確。源:立即數(shù)尋址,目的:寄存器。編譯時(shí)就處理為3823MULCX正確。源:寄存器尋址,目的:寄存器尋址24XCHGCL,SI 正確。源:寄存器間接尋址,目的:寄存器尋址25ADCCS:0100,AH 正 確。源 :寄存器尋址,目的: 直接尋址(數(shù)據(jù)在代碼段中
8、26SBBVAR1-5,154 正確。源:立即數(shù)尋址,目的:直接尋址。4. 說明下列指令對(duì)的區(qū)別:MOV AX,VAR1與 MOV AX, OFFSET VAR1MOV AX,VAR2與 LEA AX , VAR2MOV AL,LENGTHVAR1 與 MOV AL, SIZE VAR1MOV AL,ES: DICMP AL, SI與 CMPSBSHR AL,與 SAR AL,SHR AL,與 ROR AL,ROL BX,與 RCL BX,解: ( 1 MOVAX ,VAR1把變量 VAR1 對(duì)應(yīng)地址單元中的一個(gè)字送入AXMOVAX , OFFSET VAR1 把 VAR1 的有效地址的偏移地
9、址送入AX2) MOVAX , VAR2把變量 VAR2 對(duì)應(yīng)地址單元中的一個(gè)字送入AXLEA AX , VAR2 把 VAR2 的有效地址的偏移地址送入AX3) MOV AL , LENGTH V AR1 把變量 VAR1 的長(zhǎng)度送入ALMOV AL , SIZE VAR1 把變量 VAR1 的大小送入AL4) MOV AL , ES: DICMP AL , SI把以 ES 為段地址,DI 為偏移地址的一個(gè)字節(jié)送入AL ,并與以 SI 內(nèi)容為偏移地址的一個(gè)字節(jié)作比較,改變標(biāo)志寄 存器內(nèi)容。(相當(dāng)于作ES: (DI)與(DS: (SI)內(nèi)容比較)對(duì)字符串中的一字節(jié)比較。尋址方式隱含。源串的地址
10、由CMPSBDS:SI 指定,目的串的地址由ES:DI 指定。 (相當(dāng)于作DS:(SI)與ES: (DI)內(nèi)容比較)5) SHR AL , 1AL邏輯右移1 位,最高位移入0, 最低位移入CF。SAR AL , 1AL算術(shù)右移1 位,以最高位內(nèi)容移入,最低位移入CF,其余各位右移一位。6) SHR AL , 1AL 邏輯右移1 位,最高位移入0, 最低位移入CF。ROR AL , 1AL 的各位構(gòu)成環(huán)形移位,右移一位,最低位內(nèi)容同時(shí)移入到CF 和最高位。7) ROL BX , 1BX 各位構(gòu)成環(huán)形移位,左移一位,最高位內(nèi)容同時(shí)移入到CF 和最低位。RCL BX , 1BX 和 CF 構(gòu)成環(huán)形移
11、位,左移一位,CF 內(nèi)容移入到最低位,最高位移入CF。5. 寫出下列轉(zhuǎn)移指令的尋址方式(設(shè)L1為標(biāo)號(hào),VAR1為字型變量,DVAR1為雙字型變量):1)JMPL1(2)3)JNZL1(4)5)JG L1(6)7)JMPFAR PTR L1(8)解: ( 1 ) JMP L1 段內(nèi)直接尋址( 3) JNZ L1 段內(nèi)直接尋址( 5) JG L1 段內(nèi)直接尋址JMP NEAR L1JMP BXJMP VAR1SIJMP DVAR1( 2) JMP NEAR PTR L1 段內(nèi)直接尋址( 4) JMP BX 段內(nèi)間接尋址( 6) JMP VAR1SI 段內(nèi)間接尋址6. 設(shè)(DS =2000H, (B
12、X) =0100H, (SI) = 0002H, (20100) =3412H, (20102) =7856H,(21200) = 4C2AH (21202) = 65B7H,求下列指令執(zhí)行后 AX寄存器的內(nèi)容:(1)MOV AX,1200H;(2)MOV AX,BX;(3)MOV AX, 1200H;( 4) MOV AX, BX;( 5) MOV AX,1100BX; ( 6) MOV AX, BXSI;( 7) MOV AX,1100BXSI解: ( 1 ) 1200H( 2)0100H( 3) 4C2AH ( 4) 3412H( 5) 4C2AH( 6) 7856H ( 7) 65B7
13、H7.執(zhí)行下列指令后,DX寄存器中的內(nèi)容是多少?TABLE DW 25, 36,1,16, 10000, 13PYL DW 7MOV BX, OFFSET TABLEADD BX, PYLMOV DX, BX解: DX = 10FFH8. 如果堆棧的起始地址為由-16 (FFF0H)的高8位和10000 (2710H)的低8位構(gòu)成2200: 0000,棧底為 0100H, (SR) = 00A8H,求1 )棧頂?shù)刂罚? 2) SS的內(nèi)容;(3)再存入數(shù)據(jù) 5678H, 3AF2H后,SP的內(nèi)容。解:棧頂?shù)刂?0A8H , SS = 2200H, 再存入 2 個(gè)字后,SP = 00A4H9 .設(shè)
14、已用偽指令 EQU1義了 4個(gè)標(biāo)識(shí)符:N1 EQU 2100N2 EQU 10N3 EQU 20000N4 EQU 250001)ADD AL,N1 N2;( 2)MOV AX,N3 N4;3)SUB BX,N4 N3;( 4)SUB AH,N4 N3 N1;5)ADD AL,N2;( 6)MOV AH,N2*N21 )錯(cuò)誤。N1-N2=2090>255( 2)正確卜列指令是否正確?并說明原因。3)正確4)錯(cuò)誤。N4-N3-N1=2900>2555)正確6)正確10 . 按下列要求寫出指令:(1)將AX寄存器的低4位清零,其余位不變;(2)將BX寄存器的低4位置1,其余位不變;(
15、3)將AL 寄存器的低4 位保持不變,高4 位取反;(4)測(cè)試BX中的位1和位2,當(dāng)這兩位同時(shí)為 0時(shí)將AL置0FFH否則AL清零;(5)測(cè)試BX中的位1和位2,當(dāng)這兩位有一位為 0時(shí)將AL置0FFH否則AL清零;( 6)將AL 中保存的字母ASCII 碼變換成相應(yīng)的大寫字母的ASCII 碼;( 7)將AL 中保存的字母ASCII 碼變換成相應(yīng)的小寫字母的ASCII 碼;(8)將AX中的各位取反;(9)將DX中的低7位取反,高9位不變;(10)將CX中的低8位與高8位互換。解: ( 1 ) AND AX , 0FFF0H( 2) OR BX, 000FH( 3) XOR AL , 0F0H4)
16、TESTBX, 06H( 5)MOVAX ,BXJZZEROANDAX ,06HMOVAL , 00HXORAX ,06HJMPOVERJZOVERZERO:OVER :MOVAL , 0FFHOVER :MOVAL ,0FFH( 6) AND AL , 5FH或者:CMPAL, 61HJL OVER (無需變換或不是字母)CMPAL, 7AHJG OVER (不是字母)AND AL , 5FH 或 SUB AL , 20HOVER :7) OR AL , 20H或者:CMPAL, 41HJL OVER (不是字母)CMPAL, 5AHJG OVER (無需變換或不是字母)OR AL , 20
17、H 或 ADD AL , 20HOVER :( 8) XOR AX , 0FFFFH 或者NOT AX( 9) XOR DX, 007FH( 10) XCHG CH, CL11. 寫出完成下述功能的程序段:( 1)傳送40H 到 AL 寄存器;( 2)將AL 的內(nèi)容乘以2;(3)傳送16H到AH寄存器;( 4) AL的內(nèi)容加上AH的內(nèi)容。計(jì)算最后結(jié)果(AL) =?解: ( 1 ) MOV AL,40H( 5) SHL AL,1( 6) MOV AH,16H( 7) ADD AL , AHAL=96H12. 寫出完成下述功能的程序段:(1)從緩沖區(qū)BUF的0004偏移地址處傳送一個(gè)字到 AX寄存
18、器;(2)將AX寄存器的內(nèi)容右移 2位;(3)將AX內(nèi)容與BUF的0006偏移地址處的一個(gè)字相乘;(4)相乘結(jié)果存入 BUF的0020H偏移地址處(低位在前)。解: ( 1) LEA SI, BUFMOVAX, SI+4(2) SHRAX,1SHRAX,1(3) MULWORD PTR 6SI(4) MOV20HSI,AXMOV22HSI,DX13.設(shè)(BX> = 11001011B,變量VAR的內(nèi)容為00110010B,求下列指令單獨(dú)執(zhí)行后 BX的內(nèi) 容:(1)XOR BX, VAR;(2)AND BX, VAR;(3)OR BX, VAR;(4)XOR BX, 11110000B;(
19、5)AND BX, 00001111B;(6)TEST BX, 1解: ( 1 ) 00F9H2) 0002H3) 00FBH4) 003BH5) 000BH6) 00CBH14.(DX) = 10111011B,(CD =3, (CF)1 ,求下列指令單獨(dú)執(zhí)行后求下列指令單獨(dú)執(zhí)行后DX的內(nèi)容:解:1)4)7)SHR DX,SHL DX,SAL DH,1;1;1;2)5)8)SAR DX, CL;ROR DX, CL;RCL DX, CL;DX= 0000 0000 1011 1011BCF=13)6)9)CL=3SHL DX,ROL DL,RCR DL,CL;CL;1 ) SHR DX, 1
20、DX 邏輯右移10000 0000 0101 1101B =005DH2) SAR DX, CLDX 算術(shù)右移30000 0000 0001 0111B0017H3) SHL DX, CLDX 邏輯左移30000 0101 1101 1000B05D8H4) SHL DX, 1DX 邏輯左移10000 0001 0111 0110B0176H5) ROR DX, CLDX 循環(huán)右移30110 0000 0001 0111B6017H6) ROL DL , CLDL 循環(huán)左移30000 0000 1101 1101B00DDH7) SAL DH , 1DH 算術(shù)左移10000 0000 1011
21、 1011B = 00BBH8) RCL DX, CLDX 帶進(jìn)位循環(huán)左移30000 0101 1101 1100B = 05DCH9) RCRDL, 1 DL 帶進(jìn)位循環(huán)右移10000 0000 1101 1101B00DDH15. 選擇題(各小題只有一個(gè)正確答案)( 1)執(zhí)行下列三條指令后:MOV SP, 1000HPUSH AXCALL BXa.(SP)= 1000H;b.(SP)= 0FFEHc.(SP)= 1004H;d.(SP)= 0FFCH(2)要檢查寄存器 AL中的內(nèi)容是否與 AH相同,應(yīng)使用的指令為:a. AND AL, AHb. OR AL, AHc. XOR AL, AH
22、 d. SBB AL, AH(3)指令JMP NEAR PTR L1與CALL L1 ( L1為標(biāo)號(hào))的區(qū)別在于:a. 尋址方式不同;b. 是否保存IP 內(nèi)容;c. 目地址不同;d. 對(duì)標(biāo)志位影響不同。SP=0FFCH解: ( 1) D PUSHU AX 則 AX 入棧,SP=0FFEH; CALL BX 則 IP 入棧, 2) C 異或,若相同,則 AL=0 , ZF = 1。 3) 3) B16.寄存器DX AX組成32位數(shù),DX為高位,編寫程序段實(shí)現(xiàn):(1) DX AX右移3位,并將移出的低 3位保存在CL中;(2) DX AX左移3位,并將移出的高 3位保存在CL中;解: ( 1 )移
23、出3 位應(yīng)該按時(shí)序移入CL 中。XOR CL,CLMOV BL,3L1:SHR DX, 1RCR AX , 1RCL CL , 1DEC BLJNZ L1( 2)移出3 位應(yīng)該按時(shí)序移入CL 中。XOR CL,CLMOV BL,3L1:SHL AX , 1RCR DX, 1RCR CL , 1DEC BLJNZ L117 .編寫程序段實(shí)現(xiàn)將 BL中的每一位重復(fù) 4次,成32位的雙字DX: AX,例如當(dāng)BL= 01011101B 時(shí),則得到的(DX) = 0F0FH , (AX) = 0FF0FH。解:算術(shù)右移時(shí),移入的值就是最高位本身,這樣可以使位內(nèi)容重復(fù),利用這一點(diǎn)可以實(shí)現(xiàn)題目的要求。XOR
24、DX,DXXORAX,AXMOVCX,4L1: SHRBL,1RCRAX,1SARAX,1SARAX,1SARAX,1LOOPL1MOVCX,4L2: SHRBL,1RCRDX,1SARDX,1SARDX,1SARDX,1LOOPL218 .字變量VAR1中保存有小于38250的16位無符號(hào)數(shù),編寫程序段實(shí)現(xiàn)VAR1 +150,并進(jìn)行四舍五入操作,將商保存在字節(jié)變量VAR2 中。解:根據(jù)題意,38250+ 150 = 255,因此商不會(huì)超過 255,可以用一個(gè)字節(jié)表示。a+ b的四舍五入操作可以通過判斷除后余數(shù)實(shí)現(xiàn):余數(shù)大于等于除數(shù)的一半, 則商加1;否則不用加1。但這種方法用匯編語(yǔ)言編程實(shí)現(xiàn)
25、時(shí)比較復(fù)雜,這里介紹另外一種方法:設(shè)一 b的四舍五入后的結(jié)果為 c,用表示取整數(shù)操作,則c a 0.5b這種方法是在除法操作之前,在被除數(shù)上加上除數(shù)的一半,這樣除法操作后得到的值就是考慮了四舍五入的商。VAR1 DW 12345VAR2 DB ?DATAA DB 150MOV AX,V AR1XOR BX,BXMOV BL,DATAASHR BX,1ADD AX,BXDIV DATAAMOV VAR2,AL19.有一組無符號(hào)的16位數(shù)據(jù)保存在 BUFFER中,前兩個(gè)字節(jié)存放數(shù)據(jù)的個(gè)數(shù),編程實(shí)現(xiàn)按下式進(jìn)行濾波處理:1y的 3 x(k) x(k 1)鄧 2) k 2y(k) x(k)k 2解:濾波
26、結(jié)果保存在 FILT中。BUFFER DW 0CHDW 33H, 18H, 1BH, 06H, 33H, 08HDW 3H, 6H, 0FH, 51H, 05H, 0CHFILT DW 100H DUP ( ?)LEA SI,BUFFERLEA DI,FILTMOV CX,SIMOV DI,CXADD SI,2ADD DI,2XOR DX,DXMOV AX,SIMOV DI,AXMOV BX,2SIMOV 2DI,BXADD SI,4ADD DI,4DEC CXDEC CXADD AX,BXADC DX,0L1:MOV BX,3ADD AX,SIADC DX,0PUSH DXPUSH AXDIV BXMOV DI,AXPOP AXPOP DXSUB AX, SI-4SUBB DX,0ADD DI,2ADD SI,2LOOP L120 . 在由字符串構(gòu)成的緩沖區(qū)BUFFER 中,前 2 個(gè)字節(jié)存放字符個(gè)數(shù),后續(xù)每個(gè)字節(jié)存放一個(gè)字符的ASCII 碼。編寫程序?qū)崿F(xiàn)將字符串2004替
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度專利技術(shù)價(jià)格保密合同書
- 2025年度休閑漁業(yè)發(fā)展魚塘承包經(jīng)營(yíng)合同
- 2025年度護(hù)膚品專業(yè)渠道代理商招募合同
- 2025年度業(yè)主起訴解除物業(yè)服務(wù)合同法律依據(jù)與實(shí)踐應(yīng)用
- 2025年度商業(yè)街場(chǎng)地租賃合同解除書
- 2025年度大型活動(dòng)安全預(yù)案人身免責(zé)及應(yīng)急處理合同
- 2025年度山地滑雪場(chǎng)租賃管理服務(wù)協(xié)議
- 2025年廣東環(huán)境保護(hù)工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)含答案
- 2025年度智能公寓簡(jiǎn)易版租賃合同
- 2025年度教育培訓(xùn)機(jī)構(gòu)中途入股投資及分紅合作協(xié)議
- 信息經(jīng)濟(jì)學(xué) 課件(1至6章)
- 《優(yōu)衣庫(kù)公司基層員工培訓(xùn)現(xiàn)狀及問題研究(9400字)》
- 反恐防暴器械與戰(zhàn)術(shù)應(yīng)用講解
- 浙江省2024年中考語(yǔ)文真題試卷(含答案)
- 海邁工程量清單計(jì)價(jià)軟件使用說明書-20220226100603
- 圖解自然資源部《自然資源領(lǐng)域數(shù)據(jù)安全管理辦法》
- 快消品配送管理方案
- 2024落實(shí)意識(shí)形態(tài)責(zé)任清單及風(fēng)險(xiǎn)點(diǎn)臺(tái)賬
- 高校排球教案全集-專項(xiàng)課
- 教師師德師風(fēng)培訓(xùn)專題課件
- 2024年鄉(xiāng)鎮(zhèn)綜合行政執(zhí)法工作總結(jié)模板
評(píng)論
0/150
提交評(píng)論