




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第 3 章 8086CPU 指令系統(tǒng)1. 寫出完成下列要求的變量定義語句:1)在變量 var1 中保存 6個字變量: 4512H,4512, 1,100/3 ,10H,65530;2)在變量 var2 中保存字符串:' BYTE', 'word', 'WOR'D ;3)在緩沖區(qū) buf1 中留出 100 個字節(jié)的存儲空間;(4)在緩沖區(qū)buf2中,保存5個字節(jié)的55H,再保存10個字節(jié)的240,并將這一過程重復 7 次;5)在變量 var3 中保存緩沖區(qū) buf1 的長度;6)在變量 pointer 中保存變量 var1 和緩沖區(qū) buf1 的偏
2、移地址。解:var1DW4512H,4512,-1,100/3,10H,65530var2DB'BYTE ','word ','WORD 'buf1DB100 DUP ( ?)buf2DB7 DUP(5 DUP(55H) ,10 DUP(240)var3DBLENGTH buf1pointerDWvar1,buf1(或者 pointer DW OFFSET var1, OFFSET buf1)2.設(shè)變量var1的邏輯地址為 0100:0000,畫出下列語句定義的變量的存儲分配圖:var1 DB12,12, 20/6 , 4 DUP( 0 , 55
3、H)var2 DBAssemble'var3 DWAB', cd' , E'var4 DW var2var5 DD var2解:aiaoiaaaoKOCH03Ho5hHE亟55H35h35h55H41H73H73H65H62H6CH殆H42H41H64H詼45HDDHvsrl OOOBHvsr20D13Hvsr30019H001BHvir4var53.指令正誤判斷,對正確指令寫出源和目的操作數(shù)的尋址方式,對錯誤指令指出原因(設(shè)VAR1, VAR2為字變量 丄1為標號):(1) MOV SI, 100(2)MOV BX VAR1SI(3) MOV AX, BX(4
4、)MOV AL, DX(5) MOV BP, AL(6)MOV VAR1, VAR2(7) MOV 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(
5、23) MUL CX(24)XCHG CL, SI(25) ADC CS:0100, AH(26)SBB VARJ 5,154解:(1) MOV SI,100正確。源:立即數(shù)尋址,目的:寄存器尋址(2) MOV BX,V AR1SI正確。源:寄存器相對尋址,目的:寄存器尋址(3) MOV AX,BX正確。源:寄存器間接尋址,目的:寄存器尋址(4) MOV AL,DX錯誤。寄存器間接尋址時,DX,AX, CX不能作地址寄存器(5) MOV BP,AL錯誤。操作數(shù)類型不一致(6)MOV VAR1,VAR2錯誤。兩存儲單兀之間不能用MOV指令傳送數(shù)據(jù)2)MOVAX , VAR2把變量 VAR2 對應
6、地址單元中的一個字送入 AX1)MOV AX,VAR1與MOV AX,OFFSET VAR12)MOV AX,VAR2與LEA AX, VAR23)MOV AL,LENGTHVAR1與 MOV AL, SIZE VAR14)MOV AL,ES: DICMP AL, SI與 CMPSB5)SHR AL,1與SAR AL ,16)SHR AL,1與ROR AL,17)ROL BX,1與RCL BX,11)MOVAX , VAR1把變量 VAR1 對應地址單元中的一個字送入4. 說明下列指令對的區(qū)別:解:(AXMOVAX , OFFSET VAR1 把VAR1的有效地址的偏移地址送入AX8)MOV
7、DS,0100H錯誤。目的操作數(shù)為段寄存器時,源操作數(shù)不能為立即數(shù)9)MOV BXSI ,1錯誤。指令類型不定。10)MOV AX,V AR1+V AR2錯誤。 MOV 指令中不能完成加法運算11)ADD AX,LENGTH V AR1正確。源:立即數(shù)尋址。目的:寄存器尋址12)OR BL,TYPE V AR2正確。源:立即數(shù)尋址。目的:寄存器尋址錯誤。指令類型不定14 )MOVS V AR1,VAR2正確。15 )PUSH100H錯誤。16 )POPCS/17 )XCHGAX, ES錯誤。18 )MOVDS, CS錯誤。19 )JMPL1+5正確。13)SUB DI,78H20)DIVAX
8、,10目的、源均為隱含尋址。操作數(shù)僅指出操作數(shù)類型將常數(shù)壓入堆棧,要通過寄存器來實現(xiàn)目的操作數(shù)不能為 CSXCHG 指令的操作數(shù)不能是段寄存器MOV 指令不能從段寄存器到段寄存器段內(nèi)直接轉(zhuǎn)移錯誤。指令格式錯誤。21)SHLBL,錯誤。移位指令的移位數(shù)為 1 或者 CL22)MOVAL,15+23正確。源 :立即數(shù)尋址,目的 :寄存器。編譯時就處理為3823)MULCX正確。源:寄存器尋址,目的:寄存器尋址24)XCHGCL,SI 正確。源:寄存器間接尋址,目的:寄存器尋址25)ADCCS:0100,AH 正確。源:寄存器尋址 ,目的: 直接尋址(數(shù)據(jù)在代碼段中)26)SBBVAR1-5,154
9、正確。源:立即數(shù)尋址,目的:直接尋址。LEA AX , VAR2 把 VAR2 的有效地址的偏移地址送入 AX3)MOV AL , LENGTH V AR1 把變量 VAR1 的長度送入 ALMOV AL , SIZE VAR1 把變量 VAR1 的大小送入 AL4)MOV AL ,ES: DICMP AL ,SI把以 ES 為段地址, DI 為偏移地址的一個字節(jié)送入 AL ,并與以 SI 內(nèi)容為偏移地址的一個字節(jié)作比較,改變標志寄存器內(nèi)容。(相當于作ES: (。1)與(DS: (SI)內(nèi)容比較)CMPSB對字符串中的一字節(jié)比較。尋址方式隱含。源串的地址由DS:SI 指定,目的串的地址由 ES
10、:DI 指定。(相當于作DS:(SI)與ES: ( DI)內(nèi)容比較)5) SHR AL ,1AL邏輯右移1 位,最高位移入 0, 最低位移入 CF 。SAR AL , 1AL算術(shù)右移1 位,以最高位內(nèi)容移入,最低位移入 CF,其余各位2)MOVAX , VAR2把變量 VAR2 對應地址單元中的一個字送入 AX2)MOVAX , VAR2把變量 VAR2 對應地址單元中的一個字送入 AX右移一位。6) SHR AL ,1AL 邏輯右移1 位,最高位移入 0, 最低位移入 CF 。ROR AL , 1AL 的各位構(gòu)成環(huán)形移位,右移一位,最低位內(nèi)容同時移入到CF 和2)MOVAX , VAR2把變
11、量 VAR2 對應地址單元中的一個字送入 AX2)MOVAX , VAR2把變量 VAR2 對應地址單元中的一個字送入 AX最高位。7) ROL BX , 1BX 各位構(gòu)成環(huán)形移位,左移一位,最高位內(nèi)容同時移入到CF 和最低位。RCL BX ,1BX和CF構(gòu)成環(huán)形移位,左移一位,CF內(nèi)容移入到最低位,最高位移入 CF。5. 寫出下列轉(zhuǎn)移指令的尋址方式 (設(shè)VAR1為字型變量,DVAR1為雙字型變量):1)JMP L1( 2 )JMP NEAR L13)JNZ L1( 4 )JMPBX5)JG L1( 6 )JMPVAR1SI7)JMP FAR PTR L1( 8 )JMPDVAR1L1 為標號
12、,2)MOVAX , VAR2把變量 VAR2 對應地址單元中的一個字送入 AX2)MOVAX , VAR2把變量 VAR2 對應地址單元中的一個字送入 AX解:( 1 )JMP L1段內(nèi)直接尋址( 2)JMP NEAR PTR L1 段內(nèi)直接尋址( 3 )JNZL1 段內(nèi)直接尋址( 4)JMP BX段內(nèi)間接尋址( 5 )JG L1段內(nèi)直接尋址( 6)JMP VAR1SI段內(nèi)間接尋址7) JMP FAR PTR L1 段間直接尋址8) JMP DVAR1 段間間接尋址6. 設(shè)(DS = 2000H, (BX) = 0100H, ( SI) = 0002H, (20100) = 3412H, (
13、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) 65B7H7.執(zhí)行下列指令后,DX寄存器中的內(nèi)容是多少?TABLE DW 25, 36, 1
14、,16, 10000, 13PYL DW 7MOVBX,OFFSET TABLEADDBX,PYLMOVDX,BX解:DX = 10FFH由 -16(FFF0H )的高8位和10000 (2710H)的低8位構(gòu)成8.如果堆棧的起始地址為2200: 0000,棧底為 0100H, ( SP = 00A8H,求1)棧頂?shù)刂?;解? 1 )錯誤。 N1-N2=2090>2552)正確3)正確解:( 1 )錯誤。 N1-N2=2090>2552)正確3)正確SS的內(nèi)容;3)再存入數(shù)據(jù)5678H, 3AF2H后,SP 的內(nèi)容。解:棧頂?shù)刂?0A8H , SS = 2200H, 再存入 2 個
15、字后, SP = 00A4H9. 設(shè)已用偽指令 EQU定義了 4個標識符:N1EQU2100N2EQU10N3EQU20000N4EQU25000解:( 1 )錯誤。 N1-N2=2090>2552)正確3)正確解:( 1 )錯誤。 N1-N2=2090>2552)正確3)正確列指令是否正確?并說明原因。1 ) ADD AL, N1 N2;2)MOV AX,N3N4;3) SUB BX, N4 N3;4)SUB AH,N4N3 N1;5) ADD AL, N2;6)MOV AH,N2*N2解:( 1 )錯誤。 N1-N2=2090>2552)正確3)正確10. 按下列要求寫出
16、指令:( 1)將 AX 寄存器的低 4 位清零,其余位不變;(2)將BX寄存器的低4位置1,其余位不變;(3)將AL寄存器的低4位保持不變,高4位取反;(4) 測試BX中的位1和位2,當這兩位同時為 0時將AL置OFFH否則AL清零;(5) 測試BX中的位1和位2,當這兩位有一位為 0時將AL置0FFH否則AL清零;(6) 將AL中保存的字母 ASCII碼變換成相應的大寫字母的ASCII碼;(7) 將AL中保存的字母 ASCII碼變換成相應的小寫字母的ASCII碼;(8)將AX中的各位取反;(9)將DX中的低7位取反,高9位不變;(10)將CX中的低8位與高8位互換。解:( 1 ) AND A
17、X , 0FFF0H( 2) OR BX, 000FH( 3) XOR AL , 0F0H4)TESTBX, 06H( 5)MOVAX ,BXJZZEROANDAX ,06HMOVAL , 00HXORAX ,06HJMPOVERJZOVERZERO:MOVAL , 0FFHMOVAL ,0FFHOVER :OVER :( 6) AND AL , 5FH或者:CMPAL , 61HJLOVER(無需變換或不是字母)CMPAL , 7AHJGOVER(不是字母)AND AL, 5FH或 SUB AL , 20HOVER:7)OR AL , 20H或者:CMPAL,41HJLOVER(不是字母)C
18、MPAL , 5AHJGOVER(無需變換或不是字母)OR AL, 20H或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)容。計算最后結(jié)果(AL)=?解:( 1 )MOVAL,40H( 2)SHLAL,1( 3)MOVAH,16H( 4)ADDAL , AHAL=96H12. 寫出完成下述功能的程序段:(1) 從緩沖區(qū)BUF的0004偏
19、移地址處傳送一個字到AX寄存器;(2)將AX寄存器的內(nèi)容右移 2位;(3)將AX內(nèi)容與BUF的0006偏移地址處的一個字相乘;(4)相乘結(jié)果存入 BUF的0020H偏移地址處(低位在前)。解: (1) LEA SI, BUFMOV AX, SI+4(2) SHRAX,1SHRAX,1(3) MULWORD PTR 6SI(4) MOV20HSI,AXMOV22HSI,DX13. 設(shè)(BX>= 11001011B,變量VAR的內(nèi)容為00110010B,求下列指令單獨執(zhí)行后BX的內(nèi)2) 0002H3) 00FBH4) 003BH5) 000BH6) 00CBH設(shè)(DX) =14.1)1011
20、1011B,(CL)= 3, (CF求下列指令單獨執(zhí)行后DX的內(nèi)容:4)7)SHR DX,SHL DX,SAL DH,1;1;1;2)5)8)SAR DX, CL;ROR DX, CL;RCL DX, CL;3)6)9)SHL DX,ROL DL,RCR DL,CL;CL;容:( 1)XOR BX,VAR;( 2)AND BX,VAR;( 3)OR BX,VAR;( 4)XOR BX,11110000B;( 5)AND BX,00001111B;( 6)TEST BX,1解:( 1 )00F9H1)SHRDX,1DX 邏輯右移10000 0000 0101 1101B=005DH2)SAR D
21、X,CLDX 算術(shù)右移 30000 0000 0001 0111B =0017H3)SHL DX ,CLDX 邏輯左移 30000 0101 1101 1000B =05D8H4)SHL DX ,1DX 邏輯左移 10000 0001 0111 0110B =0176H5)RORDX,CLDX 循環(huán)右移30110 0000 0001 0111B= 6017H6)ROLDL,CLDL 循環(huán)左移30000 0000 1101 1101B= 00DDH7)SAL DH ,1DH 算術(shù)左移 10000 0000 1011 1011B =00BBHCF=1CL=3DX= 0000 0000 1011 1
22、011B帶進位循環(huán)左移 38)RCL DXCLDX0000 0101 1101 1100B解:05DCH9) RCRDL, 1 DL 帶進位循環(huán)右移 10000 0000 1101 1101B00DDH15. 選擇題(各小題只有一個正確答案)( 1)執(zhí)行下列三條指令后:MOV SP, 1000HPUSH AXCALL BXa.(SP)= 1000H;b. (SP)= OFFEHc.(SP)= 1OO4H;d. (SP)= 0FFCH( 2)要檢查寄存器 AL 中的內(nèi)容是否與 AH 相同,應使用的指令為:a. AND AL, AHb. OR AL, AHc. XOR AL, AH d. SBB
23、AL, AH(3)指令JMP NEAR PTR L1與CALL L1 ( L1為標號)的區(qū)別在于:a. 尋址方式不同;b. 是否保存 IP 的內(nèi)容;c. 目的地址不同;d. 對標志位的影響不同。SP=0FFCH解:(1) D PUSHU AX 則 AX 入棧,SP=0FFEH ; CALL BX 貝U IP 入棧,(2) C 異或,若相同,則 AL=0 , ZF = 1。( 3) B16. 寄存器DX AX組成32位數(shù),DX為高位,編寫程序段實現(xiàn):(1) DX AX右移3位,并將移出的低 3位保存在CL中;(2) DX AX左移3位,并將移出的高 3位保存在CL中;解:(1)移出的3位應該按時
24、序移入 CL中。XOR CL,CLMOV BL,31:SHRDX , 1RCRAX , 1RCLCL , 1DECBLJNZL12)移出的3 位應該按時序移入 CL 中。XOR CL,CLMOV BL,3L1: SHL AX , 1RCR DX , 1RCR CL ,1DEC BLJNZ L117. 編寫程序段實現(xiàn)將 BL 中的每一位重復 4 次,構(gòu)成 32 位的雙字 DX:AX ,例如當 BL=01011101B 時,則得到的(DX )= OFOFH , (AX )= OFFOFH。解:算術(shù)右移時,移入的值就是最高位本身, 這樣可以使位內(nèi)容重復, 利用這一點可以實現(xiàn)題目的要求。XORDX,D
25、XXORAX,AXMOVCX,4L1:SHRBL,1RCRAX,1SARAX,1SARAX,1SARAX,1LOOPL1MOVCX,4L2:SHRBL,1RCRDX,1SARDX,1SARDX,1SARDX,1LOOPL218. 字變量VAR1中保存有小于38250的16位無符號數(shù),編寫程序段實現(xiàn)VAR1十150,并進行四舍五入操作,將商保存在字節(jié)變量 VAR2 中。解:根據(jù)題意,38250 - 150 = 255,因此商不會超過 255,可以用一個字節(jié)表示。a+ b的四舍五入操作可以通過判斷除后余數(shù)實現(xiàn):余數(shù)大于等于除數(shù)的一半, 則商加1;十b的四舍五入后的結(jié)果為 c,用表示取整數(shù)操作,貝U
26、c = 0.5 _b這種方法是在除法操作之前,在被除數(shù)上加上除數(shù)的一半,這樣除法操作后得到的值就是考慮了四舍五入的商。VAR1 DW 12345VAR2 DB ?DATAADB 150MOVAX,V AR1XORBX,BXMOVBL,DATAASHRBX,1ADDAX,BXDIVDATAAMOVVAR2,AL19.有一組無符號的16位數(shù)據(jù)保存在 BUFFER按下式進行濾波處理:中,前兩個字節(jié)存放數(shù)據(jù)的個數(shù),編程實現(xiàn)1 ,y(k)匚 x(k) x(k-1) x(k_2)k_2y(k)=x(k)k : 2解:濾波結(jié)果保存在 FILT中。BUFFER DW 0CHDW 33H, 18H, 1BH,
27、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 個字節(jié)存放字符個數(shù),后續(xù)每個字節(jié)存放一個字符的 ASC
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇財經(jīng)職業(yè)技術(shù)學院《打印創(chuàng)新設(shè)計》2023-2024學年第二學期期末試卷
- 天津醫(yī)科大學臨床醫(yī)學院《電視節(jié)目播音主持實訓》2023-2024學年第二學期期末試卷
- 邵陽職業(yè)技術(shù)學院《結(jié)構(gòu)設(shè)計軟件應用》2023-2024學年第二學期期末試卷
- 長春職業(yè)技術(shù)學院《三維動畫MAYA》2023-2024學年第二學期期末試卷
- 內(nèi)江師范學院《SAS與統(tǒng)計分析》2023-2024學年第二學期期末試卷
- 2025年重慶市建筑安全員考試題庫附答案
- 長春師范大學《公共管理與公共政策實務》2023-2024學年第二學期期末試卷
- 西安航空學院《老年認知癥的篩查與干預》2023-2024學年第二學期期末試卷
- 南京科技職業(yè)學院《會展設(shè)計實務》2023-2024學年第二學期期末試卷
- 襄陽職業(yè)技術(shù)學院《現(xiàn)代環(huán)境分析技術(shù)與應用》2023-2024學年第二學期期末試卷
- 病歷書寫相關(guān)法律法規(guī)
- 老舊小區(qū)加裝電梯方案
- 老年人誤吸與預防-護理團標
- 輸氣場站工藝流程切換操作規(guī)程課件
- 青少年網(wǎng)絡(luò)安全教育課件
- 2021年全國統(tǒng)一高考英語試卷(新課標Ⅰ)(原卷版)
- 產(chǎn)科抗磷脂綜合征診斷與處理專家共識護理課件
- 中醫(yī)護理中藥封包課件
- 2024年中智集團及下屬單位招聘筆試參考題庫含答案解析
- 中草藥材種植基地項目申請報告
- 2022年南京鐵道職業(yè)技術(shù)學院單招職業(yè)技能題庫及答案解析
評論
0/150
提交評論