




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、習(xí) 題 22.1 8086/8088 CPU分為哪兩大功能部件?其各自的主要功能是什么?8086/8088 CPU中有哪些寄存器?各有什么用途?解:從功能上來看,Intel 8086/8088微處理器可分為兩部分,即執(zhí)行單元EU(Execution Unit) 和總線接口單元BIU(Bus Interface Unit)。執(zhí)行單元EU 的功能是負(fù)責(zé)指令的譯碼、執(zhí)行,包括算術(shù)、邏輯運(yùn)算,控制等。總線接口單元BIU 的功能是負(fù)責(zé)8086/8088對存儲(chǔ)器和I/O 設(shè)備的所有訪問操作。具體包括:負(fù)責(zé)從內(nèi)存單元中預(yù)取指令,并將其送到指令隊(duì)列緩沖器暫存;從內(nèi)存單元或外設(shè)端口中讀取操作數(shù)或者將指令的執(zhí)行結(jié)
2、果傳送到指定的內(nèi)存單元或外設(shè)端口;根據(jù)有效地址(EA)形成物理地址(PA)。8086/8088有4個(gè)16位數(shù)據(jù)寄存器:AX、BX,CX,DX,它們既可作為16位寄存器使用,存放數(shù)據(jù)或地址,也可以分別作為兩個(gè) 8 位寄存器使用。8086/8088有2個(gè)16位變址寄存器:SI 、DI,通常與DS聯(lián)用,為訪問當(dāng)前數(shù)據(jù)段提供段內(nèi)偏移地址或偏移地址分量。8086/8088有2個(gè)16位地址指針寄存器:SP,BP,它們一般是用來存放堆棧操作數(shù)的偏移地址。總線接口單元(BIU) 中設(shè)置有4 個(gè)16位的段寄存器,分別是代碼段寄存器(CS),數(shù)據(jù)段寄存器(DS),堆棧段寄存器(SS)和附加段寄存器(ES)。指令指
3、針寄存器 (Instruction Pointer,IP) 用來存放下一條要執(zhí)行的指令在當(dāng)前代碼段中的偏移地址。標(biāo)志寄存器也稱程序狀態(tài)字(PSW) 寄存器,用來存放運(yùn)算結(jié)果的特征和機(jī)器工作狀態(tài)。2.2 8086/8088 CPU中標(biāo)志寄存器有哪兩類標(biāo)志?簡述各標(biāo)志位的含義。解:(Zero Flag ,ZF)零標(biāo)志。若本次運(yùn)算結(jié)果為0,則ZF1,否則ZF0。(Sign F1ag SF)符號標(biāo)志。此標(biāo)志用于反映有符號數(shù)運(yùn)算結(jié)果的符號是正還是負(fù)。對于有符號數(shù),用最高位表示數(shù)的符號,當(dāng)本次運(yùn)算結(jié)果最高位為1 ,表示結(jié)果為負(fù)數(shù),則SF1,否則SF0。(Parity Flag,PF)奇偶標(biāo)志。此標(biāo)志是反映
4、運(yùn)算結(jié)果中最低字節(jié)中含“1”的個(gè)數(shù)為0或偶數(shù)時(shí),PF1,為奇數(shù)時(shí),PF0。 注意,PF標(biāo)志僅反映運(yùn)算結(jié)果的最低8位中“1”的個(gè)數(shù)是偶數(shù)或奇數(shù),即使是進(jìn)行16位字操作也是如此。(Auxiliary Carry Flag ,AF)輔助進(jìn)位標(biāo)志。當(dāng)進(jìn)行8 位數(shù)( 字節(jié))或16位數(shù)( 字)的低8 位運(yùn)算時(shí),低4 位向高4 位( 即D3 位向D4 位) 有進(jìn)位或借位時(shí),AF1,否則AF0。AF標(biāo)志主要供 BCD碼十進(jìn)制算術(shù)指令判別是否要進(jìn)行十進(jìn)制調(diào)整,用戶一般不必關(guān)心。(Carry Flag,CF)進(jìn)位標(biāo)志。當(dāng)本次算術(shù)運(yùn)算結(jié)果使最高位產(chǎn)生進(jìn)位( 加法運(yùn)算)或借位( 減法運(yùn)算) 時(shí),則此標(biāo)志位置“1”,即
5、CF1;若加法運(yùn)算結(jié)果最高位無進(jìn)位,或減法運(yùn)算結(jié)果最高位無借位,則CF0。(Overflow Flag ,OF)溢出標(biāo)志。當(dāng)運(yùn)算結(jié)果產(chǎn)生溢出時(shí),使OF1,否則OF0。2.3 簡述偽指令“EQU”與“=”之間有什么區(qū)別?解:“EQU”偽指令不能重復(fù)定義,而“=”偽指令可以重復(fù)定義。2.4 畫圖說明下列語句分配的存儲(chǔ)空間及初始化的數(shù)值(1)FF1DB'0100',2+5,?,'ABC'(2)FF2DW2 DUP(?),'A','BC',1000H,25H(3)FF3DB2 DUP(1,2 DUP(2,3),4)偏移地址內(nèi)容變量名000
6、0H30HFF10001H31H0002H30H0003H30H0004H07H0005H00H0006H41H0007H42H0008H43H0009H00HFF2000AH00H000BH00H000CH00H000DH41H000EH00H000FH43H0010H42H0011H00H0012H10H0013H25H0014H00H0015H01HFF30016H02H0017H03H0018H02H0019H03H001AH04H001BH01H001CH02H001DH03H001EH02H001FH03H0020H04H2.5 指出下列指令的錯(cuò)誤。A1DB ?A2DB 10K1E
7、QU 1024(1)MOV K1,AX(2)MOV A1,AX(3)CMP A1,A2(4)K1 EQU 2048(5)MOV AX,BH(6)MOV BP,DI(7)XCHG CS,AX(8)POP CS解:(1) 立即數(shù)不能為目的操作數(shù)(2) 兩個(gè)操作數(shù)的類型不一致(3) 兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)(4) K1不能用EQU重復(fù)定義(5) 兩個(gè)操作數(shù)類型不匹配(6) 兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)(7) CS不能作為XCHG的操作數(shù)(8) CS不能為目的操作數(shù)2.6 假設(shè)在數(shù)據(jù)段進(jìn)行如下的定義: DATASegmentXXDB-50,71,5,65,0YY DB200 DUP(
8、9;ABCD')ZZ DW 100 DUP(?)WW DW 25H,1052H,370H,851H DATA ENDS(1)用一條指令將YY的偏移地址送入BX(2)用一條偽指令給出該數(shù)據(jù)段占用所有字節(jié)長度(3)用一條偽指令給出變量ZZ分配的字節(jié)數(shù)目(4)編寫一段程序?qū)W數(shù)組中的數(shù)據(jù)全部送入YY緩沖區(qū)(5)將數(shù)組XX中的第二個(gè)數(shù)據(jù)與第五個(gè)數(shù)據(jù)進(jìn)行調(diào)換解:(1)LEA BX, YY(2)在數(shù)據(jù)段的最后加上:LEN EQU $-XX(3)ZZLEN EQU WW-ZZ(4)MOV AX,WW MOV YY,AX MOV AX,WW+2 MOV YY+2,AXMOV AX,WW+4 MOV
9、YY+4,AXMOV AX,WW+6 MOV YY+6,AX (5)MOV AL,XX+1 MOV XX+4,AL2.7 什么叫尋址方式?8086/8088指令系統(tǒng)有哪些尋址方式?解:指令中操作數(shù)的尋找方法稱為尋址方式。8086/8088系統(tǒng)所支持的七種基本尋址方式:立即尋址, 寄存器尋址, 直接尋址, 寄存器間接尋址,寄存器相對尋址,基址變址尋址和相對基址變址尋址。2.8 將首地址為BLOCK的字?jǐn)?shù)組中的第100個(gè)數(shù)送入AX中,試寫出相關(guān)指令序列,要求分別使用以下三種尋址方式:(1)以BX寄存器的間接尋址(2)以BX寄存器的相對尋址(3)以BX、SI寄存器的基址變址尋址解:(1)MOV BX
10、, OFFSET BLOCK +99*2MOV AX, BX(2)MOV BX, 99*2 MOV AX, BLOCKBX或:LEA BX, BLOCKMOV AX, BX+99*2(3)LEA BX, BLOCK MOV SI, 99*2 MOV AX,BX+SI或:LEA SI, BLOCK MOV BX, 99*2 MOV AX,BX+SI2.9 已知:(BX)=1200H,(BP)=2400H,(SI)=0100H,(DI)=0200H,(SS)=1000H,(DS)=2000H,(ES)=3000H,變量VAR1對應(yīng)地址為2000H,試分別指出下列指令中存儲(chǔ)器的尋址方式及物理地址。(
11、1)MOVAL,020H(2)MOVAL,BP+010H(3)MOVBX+SI-20H,AX(4)MOVBL,ES:BX+10H(5)MOVVAR1BX+DI,AL解:(1)直接尋址 PA=(DS)*16+EA=20000h+020H=20020H(2)寄存器相對尋址PA=(SS)*16+EA=10000H+2400H+010H=12410H(3)相對基址加變址尋址PA=(DS)*16+EA=20000H+1200H+0100H-20H=212E0H(4)寄存器相對尋址PA=(ES)*16+EA=30000H+1200H+10H=31210H(5)相對基址加變址尋址PA=(DS)*16+EA=
12、20000H+2000H+1200H+0200H=23400H2.10 設(shè)Block為字單元1000H:001FH的符號地址(變量),該單元的內(nèi)容是01A1H,試問以下兩條含有Block的指令有什么不同?指令執(zhí)行后BX的內(nèi)容是多少?(1)MOVBX,Block(2)LEABX,Block解:(1)BX的內(nèi)容為01A1H(2)BX的內(nèi)容為001FH2.11 什么叫堆棧?采用堆棧的意義?解:2.12 若在數(shù)據(jù)段中從字節(jié)變量TABLE相應(yīng)的單元開始存放了015的平方值,試寫出包含有XLAT指令的指令序列查找N(015)中的某個(gè)數(shù)的平方。(設(shè)N的值存放在CL中)解:LEA BX, TABLEMOV A
13、L, NXLAT2.13 編寫程序?qū)Υ娣旁贒X,AX中的雙字節(jié)長數(shù)據(jù)的求補(bǔ)解:NOTDX;首先將(DX, AX)取反NOTAXADDAX, 1;最低位加1,注意:不能用INC指令A(yù)DCDX, 0;把進(jìn)位(如果有)傳遞到高位2.14 寫出實(shí)現(xiàn)下列計(jì)算的指令序列。(假定X、Y、Z、W、R都為有符號數(shù)字變量)(1)Z=(W*X)/(R+6)(2)Z=(W-X)/(5*Y)*2(3)Z= (X+Y)/R - W(4)Z= (X/Y+ W )*100+R解:(1)MOVAX, WIMULXMOVBX, RADDBX, 6IDIVBXMOVZ, AXMOVR, DX(2)MOVAX, YMOVBX, 5I
14、MULBXMOVBX, AXMOVAX, WSUBAX, XMOVCX, 2IMULCXIDIVBXMOVZ, AX(3)MOV AX, XADD AX,YCWDIDIVRSUB AX,WMOVZ,AX(4)MOVAX,XCWDIDIVYADD AX,WMOVBX,100IMULBXMOVBX,AXMOVCX,DXMOVAX,RCWDADDAX,BXADCDX,CX;結(jié)果存放在DX、AX中2.15 設(shè)在AX、BX、CX、DX中均存放的是用壓縮的BCD碼表示的4位十進(jìn)制數(shù),試編寫程序完成以下的計(jì)算:(1)(AX)+(BX) AX(2)(DX)-(CX) DX解:(1)ADD AL, BL DAA
15、 XCHG AL, AHADC AL, BHDAAXCHG AL, AH (2)MOV AL,DLSUB AL, CLDASMOV DL, ALMOV AL, DHSBBAL, CHDASMOV DH, AL2.16 簡述指令的“DAA”和“DAS”對BCD碼運(yùn)算后進(jìn)行調(diào)整的規(guī)則。解:DAA的調(diào)整規(guī)則:if (AL低4位>9 或 AF=1)thenAL=AL+06H ;AF=1 ;endif if (AL高4位>9 或 CF=1)thenAL=AL+60H ;CF=1 ;endifDAS的調(diào)整規(guī)則:if (AL低4位>9 或 AF=1)then AL=AL06H ;AF=1
16、;endif if (AL高4位>9 或 CF=1)thenAL=AL60H ;CF=1 ; Endif2.17 用程序段實(shí)現(xiàn)對存入在BX,AX的雙字進(jìn)行左移5位。解:SHL AX,1RCL BX,1SHL AX,1RCL BX,1SHL AX,1RCL BX,1SHL AX,1RCL BX,1SHL AX,1RCL BX,12.18 試分析下列程序完成什么功能? MOVCL,4 SHLDX,CL MOVBL,AH SHL AX,CL SHRBL,CL ORDL,BL解:把32位二進(jìn)制代碼(DX, AX)聯(lián)合左移4位。2.19 已知程序段如下:MOVAX,1234HMOVCL,4ROLA
17、X,CLDECAXMOVCX,4MULCX試問:(1)每條指令執(zhí)行后,AX寄存器的內(nèi)容是什么?(2)每條指令執(zhí)行后,CF,SF及ZF的值分別是什么?(3)程序運(yùn)行結(jié)束時(shí),AX及DX寄存器的值為多少?解:MOVAX,1234H;AX內(nèi)容為1234H,CF、SF、ZF的值保留初值MOVCL,4;AX內(nèi)容為1234H,CF、SF、ZF同上ROLAX,CL;AX內(nèi)容為2341H,CF=1、SF=0、ZF=0DECAX;AX內(nèi)容為2340H,CF=1、SF=0、ZF=0MOVCX,4;AX內(nèi)容為2340H,CF=1、SF=0、ZF=0MULCX;AX內(nèi)容為8D00H,CF=0、SF=0、ZF=02.20
18、 程序中的“轉(zhuǎn)移”是個(gè)什么概念?CPU執(zhí)行轉(zhuǎn)移指令是如何實(shí)現(xiàn)轉(zhuǎn)移的?解:程序中的“轉(zhuǎn)移”是指改變程序的順序執(zhí)行過程,某條指令執(zhí)行完后,不是緊接著執(zhí)行該指令后面的指令,而是執(zhí)行其它的指令。CPU是通過改變CS和IP指令指針的值來實(shí)現(xiàn)轉(zhuǎn)移的。2.21 設(shè)(DS)=2000H,(BX)=0030H,(SI)=0202H,(20232H)=00H,(200233H)=06H,分別執(zhí)行下述兩條指令后,實(shí)際轉(zhuǎn)移的目標(biāo)地址物理地址多少?(1)JMPBX(2)JMPWord PTRBX+SI解:(1)目的地址為0030H(2)轉(zhuǎn)移的目標(biāo)地址為:由BX+SI尋址得存儲(chǔ)單元的地址為20232H,目的地址為0600
19、H。2.22 編寫指令序列,實(shí)現(xiàn)下述要求 (1) 使AX寄存器的低 4 位清零,其余位不變。(2) 使BX寄存器的低4 位置1,其余位不變。(3) 測試 BX中的位0 和位4,當(dāng)這兩位同時(shí)為零時(shí),將AL置1,否則AL置0。解:(1)AND AX, 0FFF0H(2)OR AX, 000FH(3)TESTAX, 0011H JZNEXT;ZF=1,表明這兩位同時(shí)為0,轉(zhuǎn)走將AL置1 MOVAL,0;ZF=0,表明這兩位不同時(shí)為0,將AL清0 JMP EXITNEXT: MOV AL,1EXIT:2.23 下面程序段在什么情況下執(zhí)行結(jié)果是(AH)=0? BEGIN:IN AL, 60H TEST
20、AL, 80H JZ BRCH1 XOR AX, AX JMP STOP BRCH1:MOV AH, 0FFH STOP: 解:從60H端口讀到是數(shù)據(jù)最高位為1時(shí),使(AH)為0;數(shù)據(jù)最高位為0時(shí),使(AH)為0FFH。2.24 “CALL”指令與“JMP”指令相同之處是什么?不同之處是什么?解:相同之處:“CALL”指令和“JMP”指令都能實(shí)現(xiàn)程序的控制轉(zhuǎn)移,改變程序順序指令的過程。不同之處:“CALL”指令執(zhí)行時(shí),使程序轉(zhuǎn)移到子程序中執(zhí)行,執(zhí)行完子程序后,還是會(huì)回到調(diào)用程序,繼續(xù)執(zhí)行緊跟在“CALL”指令之后的那條指令。但“JMP”指令執(zhí)行完后一般不會(huì)去執(zhí)行緊跟在“JMP”指令之后的那條指
21、令。2.25 敘述8086/8088CPU執(zhí)行指令“CALL DWORD PTR100H”的步驟。2.26 設(shè)下列程序執(zhí)行前,棧頂指針SS:SP為1000H:0220H,試求:POPCXPOPBXPOPAXRET4(1) 畫出該程序執(zhí)行后的堆棧存儲(chǔ)情況示意圖。解:使堆棧指針加10,上面的5個(gè)字的內(nèi)容出棧,圖略。(2) 給出當(dāng)前棧頂SS和SP的值。(SS)=1000H, (SP)=022AH2.27 一雙字長的帶符號數(shù)放在X和X+2中(X為變量),試編寫一程序?qū)@個(gè)數(shù)求其絕對值。解:TEST X+2, 8000H;測試最高位,判斷正負(fù),負(fù)數(shù)好取絕對值JZDONEMOVAX, XMOVDX, X+
22、2NOTAXNOT DXADDAX, 1ADCDX, 0MOVX, AXMOVX+2, DXDONE:2.28 試編寫一個(gè)匯編語言程序,要求將鍵盤輸入的小寫字母用大寫字母顯示出來。解:CODESEGMENTASSUMECS: CODESTART:MOVAH, 01HINT 21HCMPAL, 0DH;輸入回車推出程序JZEXITORAL, 20HMOV AH, 02HINT21HJMPSTARTEXIT:MOV AX, 4C00HINT21HCODEENDSENDSTART2.29 試編寫程序?qū)崿F(xiàn)Error! Reference source not found.的功能,但是不要使用字符串操作
23、指令。解:LEA SI, STRING1-1LEADI, STRING2-1MOV CX, 20AGA:INCSIINCDIMOVAL, SI CMPAL, ES:DILOOPZAGA2.30 試編寫程序?qū)崿F(xiàn)Error! Reference source not found.的功能,但是不要使用字符串操作指令。解:LEA DI, STRING2MOV AL, AMOVCX, 20AGA:CMP AL, ES:DIJZEXITINCDILOOPAGAEXIT:2.31 在使用“REPNZ CMPSB”指令時(shí),應(yīng)事先做好哪些工作?解:將源串的偏移地址送入SI,目的串的偏移地址送入DI,方向標(biāo)志DF
24、清0,比較的字節(jié)數(shù)送入CX。2.32 已知在以ARRAY為首地址的內(nèi)存區(qū)域存放了100個(gè)字節(jié)數(shù),試編寫相關(guān)的程序段用以完成將該數(shù)據(jù)傳送到BUFF為首地址的存儲(chǔ)區(qū)域中。分別用以下不同方法實(shí)現(xiàn)。(1)用一般數(shù)據(jù)傳送指令“MOV”實(shí)現(xiàn)。(2)用字符傳送指令“MOVSB”實(shí)現(xiàn)。(3)用重復(fù)操作前綴傳送指令“REP MOVSB”實(shí)現(xiàn)。(4)用LODSB/STOSB實(shí)現(xiàn)。解:(1)LEA SI, ARRAYLEADI, BUFFMOV CX, 100AGA:MOVAL, SI MOVDI, ALINCSIINCDILOOPAGA(2)LEA SI, ARRAYLEADI, BUFFMOVAX, DSMOV ES, AXMOV CX, 100CLDAGA:MOVSBLOOPAGA(3)LEA SI, ARRAYLEADI, BUFFMOVAX, DSMOV ES, AXMOV CX, 100CLDREP MOVSB(4)LEA SI, ARRAYLEADI, BUFFMOVAX, DSMOV ES, AXMOV CX, 100CLDAGA:LODSBSTOSBLOOPAGA2.33 判斷STRING1和STRING2為首地址的內(nèi)存區(qū)域存放了二個(gè)長度為20的字符串是否相等。若相等將SIGN單元置1,反之,將SIGN單元置0。分別用以下不同方法實(shí)現(xiàn)。(1)用比較條
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF(煙草)4.1-2024煙草及煙草制品連續(xù)流動(dòng)法測定常規(guī)化學(xué)成分測量不確定度評定指南第1部分:水溶性糖
- 考研復(fù)習(xí)-風(fēng)景園林基礎(chǔ)考研試題附參考答案詳解【基礎(chǔ)題】
- 考研復(fù)習(xí)-風(fēng)景園林基礎(chǔ)考研試題(全優(yōu))附答案詳解
- 風(fēng)景園林基礎(chǔ)考研資料試題及參考答案詳解【典型題】
- 2025-2026年高校教師資格證之《高等教育法規(guī)》通關(guān)題庫附答案詳解(綜合卷)
- 2025年江西省高速公路投資集團(tuán)有限責(zé)任公司招聘筆試備考題庫含答案詳解(預(yù)熱題)
- 2024年山東華興機(jī)械集團(tuán)有限責(zé)任公司人員招聘筆試備考題庫含答案詳解(綜合卷)
- 2025年黑龍江省五常市輔警招聘考試試題題庫附答案詳解(綜合題)
- 2025年河北省定州市輔警招聘考試試題題庫含答案詳解(能力提升)
- 2025年K12課外輔導(dǎo)行業(yè)雙減政策下線上線下融合模式探索報(bào)告
- (期末押題卷)期末質(zhì)量檢測培優(yōu)卷-四年級下冊數(shù)學(xué)期末高頻易錯(cuò)題
- 數(shù)列中的新定義綜合-2025年高中數(shù)學(xué)一輪復(fù)習(xí)
- 能源資源節(jié)約與環(huán)保管理制度
- 2025年中國華電集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 第2課 抗美援朝 課件(共13張)
- 2024-2030年中國航空城產(chǎn)業(yè)發(fā)展模式規(guī)劃分析報(bào)告
- IATF16949基礎(chǔ)知識培訓(xùn)教材
- 2024年江蘇省南京市江北新區(qū)葛塘街道招聘40人歷年管理單位遴選500模擬題附帶答案詳解
- 宜賓學(xué)院《軟件需求工程》2022-2023學(xué)年第一學(xué)期期末試卷
- 2024年秋期國家開放大學(xué)《農(nóng)村經(jīng)濟(jì)管理》形考任務(wù)1-4答案
- 頤和園建筑案例分析
評論
0/150
提交評論