(何小海版)微機(jī)原理與接口技術(shù)部分課后習(xí)題_第1頁(yè)
(何小海版)微機(jī)原理與接口技術(shù)部分課后習(xí)題_第2頁(yè)
(何小海版)微機(jī)原理與接口技術(shù)部分課后習(xí)題_第3頁(yè)
(何小海版)微機(jī)原理與接口技術(shù)部分課后習(xí)題_第4頁(yè)
(何小海版)微機(jī)原理與接口技術(shù)部分課后習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、串操作指令特點(diǎn):1. 可用前綴使其重復(fù)操作;2. 每操作一次自動(dòng)修改SI和DI內(nèi)容,當(dāng)DF=0時(shí)為增量,DF=1為減量;3. 所有源操作數(shù)地址放在SI中,在DS段,串長(zhǎng) 64K; 所有目標(biāo)操作數(shù)地址放在DI中,在ES段,串長(zhǎng) 64K;4. 用重復(fù)前綴時(shí),如果條件滿足且CX 0 時(shí)重復(fù),每重復(fù)一次CX CX1,否則結(jié)束重復(fù);5. 重復(fù)操作時(shí)IP不變,中斷返回后繼續(xù)操作。 使用串操作指令時(shí)注意:1. SI 源串首(末)址DI 目標(biāo)串首(末)址;2. CX 串長(zhǎng)度;3. 設(shè)DF 值;4. 選重復(fù)前綴;5. 使用條件重復(fù)前綴時(shí),判斷結(jié)束條件(即 是CX=0 還是ZF=0/1結(jié)束) 指令執(zhí)行時(shí)間:計(jì)算機(jī)

2、中的計(jì)時(shí)單位:(1). 指令周期:執(zhí)行一條指令所花的時(shí)間;(2). 總線周期:CPU 每訪問一次內(nèi)存或I/O端口所花的時(shí)間;(3). 時(shí)鐘周期(T周期):計(jì)算機(jī)主頻的倒數(shù),用T表示, 即 T=1 / F 1、 試分別說明下列指令中源操作數(shù)和目的操作數(shù)采用的尋址方式: 答案: 目的操作數(shù) 源操作數(shù)(1)MOVAX,0FFFFH 寄存器 立即(2)MOVES,AX 寄存器 寄存器(3)XORCL,100H 寄存器 直接(4)ADDSI,DX 寄存器間 寄存器(5)MOVES:2000H,CL 直接 寄存器(6)SUBBX+SI,1 基+變 立即(7)ADCAX,BX+SI+10H 寄存器 相對(duì)基+

3、變(8)PUSHDS 隱含 寄存器(9) CLD 隱含(10) CMPBP+DI,CL 基+變 寄存器2、 若(BX)=1123H,(SI)=1968H,位移量=0313H,(DS)=1971H,試確定由這些寄存器和下列尋址方式產(chǎn)生的有效地址和物理地址: 答案: EA 物址(1) 直接尋址; 0313H 19A23H(2) 用BX的寄存器間接尋址; 1123H 1A833H(3) 用BX的寄存器相對(duì)尋址; 1436H 1AB46H(4) 用BX和SI的基址變址尋址; 2A8BH 1C19BH(5) 用BX和SI的相對(duì)基址加變址尋址。 2D9EH 1C4AEH3、 連續(xù)執(zhí)行以下指令,并在空格中填

4、寫執(zhí)行指令的結(jié)果。 答案:MOVAX,2060HAL=60H AH=20H CF=MOVDS,AXDS=2060H AH=20H CF= ADDAL,AHAL=80H AH=20H CF=0 INCAXAL=81H AH=20H CF=0 MOVDX,512DL=00H DH=02H CF=0 SUBAX,DXAL=81H AH=1EH CF=0 第3章:匯編語言程序設(shè)計(jì) 1. 本章學(xué)習(xí)要求 (1). 應(yīng)熟悉的內(nèi)容:匯編語言的格式、語句行的構(gòu)成。(2). 應(yīng)掌握的內(nèi)容: 指示性語句、指令性語句及相互區(qū)別、作用。(3). 應(yīng)熟悉掌握的內(nèi)容:各種結(jié)構(gòu)的匯編語言程序設(shè)計(jì)的方法,特別是分支結(jié)構(gòu)和循環(huán)結(jié)

5、構(gòu)程序的特點(diǎn)和設(shè)計(jì)。2. 本章重點(diǎn)難點(diǎn)分析:偽指令、程序設(shè)計(jì)、子程序中參數(shù)通過堆棧傳遞較難。通過看例題、做作業(yè)和上機(jī)實(shí)習(xí)解決。如:匯編程序是將由助記符號(hào)所編寫的匯編語言源程序轉(zhuǎn)換為計(jì)算機(jī)能直接執(zhí)行的目標(biāo)程序的軟件,即:匯編程序連接程序目標(biāo)程序可執(zhí)行文件 匯編語言源程序 .ASM MASM .OBJ LINK .EXE 上圖可看出匯編語言源程序(擴(kuò)展名為 .ASM)經(jīng)過“匯編程序”匯編后生成二進(jìn)制編碼的目標(biāo)程序(.OBJ),再經(jīng)過“連接程序”生成可執(zhí)行文件(.EXE)便可以上機(jī)執(zhí)行或使用DEBUG程序進(jìn)行調(diào)試。 而指示性語句(偽指令)是告訴匯編程序如何將匯編語言源程序轉(zhuǎn)換為目標(biāo)程序的語句,在可執(zhí)

6、行的目標(biāo)程序生成后的軟件中,偽指令是看不見的。如:SEGMENT是表示一個(gè)段的開始,ENDS表示段結(jié)束;而ASSUME告訴匯編程序,將某一個(gè)段寄存器設(shè)置為存放某一個(gè)邏輯段的段址,即明確指出源程序中的邏輯段與物理段之間的關(guān)系。當(dāng)匯編程序匯編一個(gè)邏輯段時(shí),即可利用相應(yīng)的段寄存器尋址該邏輯段中的指令或數(shù)據(jù)。也就是說ASSUME是建立一個(gè)段寄存器與段名的對(duì)照表,匯編時(shí)使匯編程序能找到本段屬于哪個(gè)段寄存器,在此對(duì)照表中所出現(xiàn)的存儲(chǔ)器操作數(shù),尋址時(shí)只需給出偏移地址,否則還應(yīng)給出段地址。 關(guān)鍵字NOTHING表示取消前面用ASSUME偽操作對(duì)這個(gè)段寄存器的設(shè)置。使用ASSUME語句,僅僅告訴匯編程序關(guān)于段寄

7、存器與定義段之間的對(duì)應(yīng)關(guān)系。但它并不意味著匯編后這些段地址已裝入了相應(yīng)的段寄存器中,這些段地址的真正裝入,仍需要用程序來完成,且這 4個(gè)段寄存器的裝入略有不同。 3. 本章典型例題分析:【例1】若從0200H單元開始有100個(gè)數(shù),編一個(gè)程序檢查這些數(shù),正數(shù)保持不變,負(fù)數(shù)都取補(bǔ)后送回。DATA SEGMENT ORG 0200HSTRING DB 4 DUP (-55,5 DUP(6,-10,-8,9),2 DUP(-4,0)DATA ENDSSTACK SEGMENT PARA STACK 'STACK' DB 100 DUP (?)STACK ENDSCODE SEGMENT

8、 ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART PROC FARBEGIN: PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX MOV ES, AX MOV CX, 100 LEA SI, STRINGAGAIN: MOV AL, SI AND AL, AL JNS OVER;AL0,跳至OVER NEG AL;AL0,對(duì)AL求補(bǔ)OVER: MOV SI, AL INC SI LOOP AGAIN INT 3 RETSTART ENDPCODE ENDS END BEG【例2】數(shù)據(jù)塊間的搬移程序。程序

9、要求把內(nèi)存中一數(shù)據(jù)塊(稱為源數(shù)據(jù)塊)傳送到另一存儲(chǔ)區(qū)(稱為目的數(shù)據(jù)塊)。圖4-11給出源數(shù)據(jù)塊和目的數(shù)據(jù)塊在存儲(chǔ)器中可能的3種情況:兩塊分離和有部分重疊。對(duì)于兩個(gè)數(shù)據(jù)塊分離的情況,如圖4-11(a),數(shù)據(jù)的傳送從數(shù)據(jù)塊的首址開始,或者從數(shù)據(jù)塊的末址開始均可。但對(duì)于有部分重疊的情況,則要加以分析,否則重疊部分部分會(huì)因“搬移”而遭破壞,從圖4-11(b)和(c)可以得出以下結(jié)論:當(dāng)源數(shù)據(jù)塊首址目的塊首址時(shí),從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù)。當(dāng)源數(shù)據(jù)塊首址目的塊首址時(shí),從數(shù)據(jù)塊首地址開始傳送數(shù)據(jù)。流程圖如圖4-12所示, 00000H 00000H 00000H 源數(shù) 據(jù)塊 源數(shù) 目的 據(jù)塊 數(shù)據(jù)塊 目的

10、 源數(shù) 目的 數(shù)據(jù)塊 據(jù)塊 數(shù)據(jù)塊FFFFFH FFFFFH FFFFFH (a) (b) (c)圖4-11 數(shù)據(jù)塊之間的三種情況開 始SI源數(shù)據(jù)塊首址DI目的數(shù)據(jù)塊首址CX搬家字節(jié)數(shù)(SI)(DI)?NYSI(SI)+(CX)-1DI(DI)+(CX)-1(DI)(SI)SI(SI)+1DI(DI)+1SI(SI)-1DI(DI)-1DI(SI)DI(SI)DI(SI)(CX)=0?(CX)=0?結(jié) 束NNYY圖 4-12程序如下:STACKSEGMENTSTACKDW64DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,SS:STACKSTART:MOVCX,

11、0010H;取搬家字節(jié)數(shù)(16個(gè)字節(jié))MOVSI,3100H;取源塊首址MOVDI,3200H;取目的塊首址CMPSI,DI;從首址開始?JAA2;是,轉(zhuǎn)移ADDSI,CX;否,以末地址開始搬家ADDDI,CXDECSIDECDIA1: MOVAL,SI;從末址開始搬家MOVDI,ALDECSIDECDIDECCXJNEA1JMPA3A2:MOVAL,SI;從首址開始搬家MOVDI,ALINCSIINCDIDECCXJNEA2A3:MOVAH,4CHINT21HCODEENDSENDSTART4. 本章作業(yè)(帶答案):2、若在自2000H單元開始有一個(gè)1000個(gè)字節(jié)的數(shù)據(jù)塊,要把它傳送到自22

12、00H開始的存儲(chǔ)區(qū)中去,用以下三中方法,分別編制程序:(1) 不用串操作指令。(2) 用單個(gè)傳送的串操作數(shù)據(jù)傳送指令。(3) 用帶重復(fù)前綴的串操作數(shù)據(jù)傳送指令。程序如下:DATASEGMENTORG2000HN1DBn1,n2,n1000N2EQU2000H+10001CONEQU1000DATAENDSSTACKSEGMENTSTACKSTACKDW100DUP(?)STACKENDSCODESEGMENTORG1000HASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKMAINPROCSTART:MOVAX,DATAMOVDS,AXMOVES,AXLEASI,N1

13、+10001 ; (2) ; (3)MOVDI,N2MOVCX,CON;STDL1:MOVAL,SI;MOVSB ;REP MOVSB MOVDI,ALDECSIDECDILOOPL1;LOOP L1MOVAH,4CHINT21HMAINENDPCODEENDSENDSTART3、若在存儲(chǔ)器中有數(shù)a、b、c、d(它們連續(xù)存放),編寫一個(gè)程序?qū)崿F(xiàn):(a * 10 + b)*10+c)*10+d (假設(shè)和小于65535)程序如下:DATASEGMENTBCMDWa,b,c,dDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABCD1PROCFARSTART:MOVAX

14、,DATAMOVDS,AXLEASI,BCMMOVCX,3MOVAX,SIL1:INCSISHLAX,1;(AX)(AX)×2MOVBX,AX;(BX)(AX)×2SHLAX,1;(AX)(AX)×4SHLAX,1;(AX)(AX)×8ADDAX,BX;(AX)(AX)×10ADDAX,SILOOPL1INCSIMOVSI,AX MOVAH,4CHINT21HBCD1ENDPCODEENDSENDSTART4、已知數(shù)組A包含10個(gè)互不相等的整數(shù),數(shù)組B包含15個(gè)互不相等的整數(shù)。試編寫一程序,將既在A中出現(xiàn)又在B中出現(xiàn)的偶數(shù)存放在數(shù)組C中。程序如

15、下:DATA SEGMENT ORG 0500H DATAA DW A1,A2, A10 DATAB DW B1,B2, B15 COUNTA EQU 10 COUNTB EQU 15 DATAC DW 10 DUP(?) DATA ENDS STACK SEGMENT STACK 'STACK' DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START PROC FAR BEGIN: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV E

16、S,AX MOV DS,AX LEA BX,DATAC;(BX)=數(shù)組C首址 CLD LEA SI,DATAA;(SI)= 數(shù)組A首址 MOV DX,COUNTA;(DX)= 數(shù)組A元素個(gè)數(shù) LP1: LODSW;取數(shù)組A元素到AX LEA DI,DATAB;(DI)= 數(shù)組B首址 MOV CX,COUNTB;(CX)= 數(shù)組B元素個(gè)數(shù) REPNE SCASW ;(AX)= 數(shù)組B元素?不同重復(fù) JNZ NEXT;B中無此A元素轉(zhuǎn)NEXT TEST AX,01H JNZ NEXT MOV BX,AX;有A元素且是偶數(shù)存入C中 INC BX INC BX NEXT: DEC DX JNZ LP1

17、 INT 3 START ENDP CODE ENDS END BEGIN5、若自STRING開始有一個(gè)字符串(以$號(hào)作為字符串的結(jié)束標(biāo)志),請(qǐng)編程查找此字符串中有無字符#,有多少個(gè)#,并將個(gè)數(shù)存放在NUMBER字單元中,且把每一個(gè)#字符所存放的偏移地址放到自POINTER開始的連續(xù)存儲(chǔ)字單元中。程序如下:DATA SEGMENTORG 0100HSTRING DB '593#6707#84BK47#68H#8K8#497$'NUMBER DB ?POINTER DW50 DUP (?)DATA ENDSSTACK SEGMENT PARA STACK 'STACK&#

18、39; DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART PROC FARBEGIN: PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV ES,AX MOV DS,AX LEA SI,STRING LEA DI,POINTER XOR BL,BL ;BL清0AGAIN: MOV AL,SI CMP AL,$ ;與$比較 JZ STOP CMP AL,# JNZ NEXT MOV DX,SI MOV DI,DX INC DI INC DI INC BLN

19、EXT: INC SI JMP AGAINSTOP: LEA DI,NUMBER MOV DI,BL INT 3START ENDPCODE ENDS END BEGIN一、8282 (地址鎖存器)的作用:在T1時(shí)鎖存地址信息。二、 8284(時(shí)鐘發(fā)生器)的作用:1. 提供系統(tǒng)時(shí)鐘CLK2. 同步RESET3. 同步READY4. 提供其他系統(tǒng)時(shí)鐘三、8286(總線緩沖器)的作用:1. 數(shù)據(jù)緩沖2. 增強(qiáng)總線負(fù)載能力3. 控制數(shù)據(jù)傳送方向四、8288(總線控制器)的作用: 在8088/8086 工作在最大模式時(shí),根據(jù)S2S0的信號(hào),輸出系統(tǒng)各種控制信號(hào). 本章作業(yè):(帶答案)1. 若用4K&#

20、215;1位的RAM芯片組成16K×8位的存儲(chǔ)器,需要多少芯片(32片)?A19A0地址線中哪些參與片內(nèi)尋址(A0A13)?哪些參與作芯片組的片選擇信號(hào)(A14A19)?2. 下列RAM各需要多少條地址線進(jìn)行尋址?多少條數(shù)據(jù)I/O線? 地址線 數(shù)據(jù)線 地址線 數(shù)據(jù)線 (1) 512×4; 9 4 (5)4K×1; 12 1 (2) 1K×4; 10 4 6)16K×4; 14 4 (3) 1K×8; 10 8 (7)64K×1; 16 1 (4) 2K×1; 11 1 (8)256K×4; 18 43.

21、使用下列RAM芯片,組成所需的存儲(chǔ)容量,各需多少RAM芯片?各需多少RAM芯片組?共需多少尋址線?每塊片子需多少尋址線? 片數(shù) 組數(shù) 總線數(shù) 片內(nèi)線(1)512×4的芯片, 組成8K×8的存儲(chǔ)容量; 32 16 13 9(2)1024×1的芯片, 組成32K×8的存儲(chǔ)容量; 256 32 15 10(3)1024×4的芯片, 組成4K×8的存儲(chǔ)容量; 8 4 12 10(4)4K×1的芯片, 組成64K×8的存儲(chǔ)容量; 128 16 16 12 4. 若用2114芯片組成2KB RAM,地址范圍為3000H37FF

22、H,問地址線應(yīng)如何連接?(假設(shè)CPU只有16條地址線,8根數(shù)據(jù)線,可選用線選法和全譯碼法) C B AA15 A14 A13 A12 A11 A10 A9 A8 A7 A0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 第三部分 綜合練習(xí)題1、名詞解釋ASSUME,SEGMENT,CPU,BCD碼,ASCII碼, RAM,EPROM,IP,SP,CS,DS,開中斷,總線周期,T周期, 段寄存器,字節(jié)、字,匯編程序,堆棧,字長(zhǎng),中斷,偽指令,指示性語句、指令性語句、OFFSET、物理地址、邏輯地址、ROM、ORG 、AB、DB、CB、指令周期 、全譯碼、局部譯碼

23、、內(nèi)存、外存 綜合練習(xí)題答案如下:1、名詞解釋(略)3、判斷下列指令正誤,如果錯(cuò)誤請(qǐng)指出原因。 答案:(1)MOVCL,259 × 數(shù)據(jù)不匹配(2)XORBL,BH (3)ADD100,AL × 立即數(shù)不能為目標(biāo)操作數(shù)(4)MOVSS,2200H × 立即數(shù)不能直接送基寄存器(5)POPCS × POP 不能對(duì)CS(6)XCHGCX,DX (7)INAL,260H × 端口地址超過256, 應(yīng)用DX間接尋址(8)MOVBP+SI,BX × 源和目標(biāo)操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)(9)LEABX,AX × 源操作數(shù)應(yīng)為存儲(chǔ)器操作

24、數(shù)(10)MOVAX,10HBX 4、 問答題:(1) 何為邏輯地址?何為物理地址?它們倆者之間有何關(guān)系?答:物理地址是存儲(chǔ)器的實(shí)際地址,一個(gè)存儲(chǔ)單元的物理地址是惟一,邏輯地址為程序設(shè)計(jì)中所使用的存儲(chǔ)器地址,它由段基址和地內(nèi)偏移地址兩部份構(gòu)成,物理地址=段基址×16偏移地址,可見一個(gè)存儲(chǔ)單元的邏輯地址可以有若干個(gè)。(2) 什么是總線周期?一個(gè)基本的總線周期由多少個(gè)T構(gòu)成?答:CPU每訪問一次總線所花的時(shí)間稱為總線周期,一個(gè)基本的總線周期由四個(gè)T周期構(gòu)成。(3) 在使用串操作指令(如MOVS)前應(yīng)注意些什么?答:使用串操作指令時(shí)應(yīng)注意以下五點(diǎn):1·將源串的首(末)地址送入SI

25、中、將目標(biāo)串的首(末)地址送入DI中;2·將串長(zhǎng)度送入CX中;3·設(shè)置DF的值;4·選擇適當(dāng)?shù)闹貜?fù)前綴;5·判斷串操作指令的結(jié)束條件。 (4) 8088 CPU有多少根地址線?多少根數(shù)據(jù)線?它最大直接尋址范圍是多少?一次對(duì)外數(shù)據(jù)傳送多少BIT二進(jìn)制數(shù)? 答:8088 CPU有20根地址線,8根數(shù)據(jù)線,它最大直接尋址范圍是1MB,一次對(duì)外數(shù)據(jù)傳送8BIT二進(jìn)制數(shù)。(5) 微機(jī)中的基本計(jì)時(shí)有哪幾種?它們之間的有何關(guān)系?答:微機(jī)中的基本計(jì)時(shí)有:指令周期;總線周期;時(shí)鐘周期。一個(gè)指令周期由若干時(shí)鐘周期或總線周期構(gòu)成,一個(gè)基本的總線周期由四個(gè)時(shí)鐘周期構(gòu)成,時(shí)鐘周期

26、是最小的計(jì)時(shí)單位,它是微機(jī)主頻的倒數(shù)。(6) 8086 / 8088 微處理器內(nèi)部有哪些寄存器?其主要作用是什么? 答:8086 / 8088 微處理器內(nèi)部有:AX、BX、CX、DX、SI、DI、CS、DS、SS、ES、IP、SP、FR、BP存放數(shù)據(jù)、偏移地址、段基址以及標(biāo)志。5、自1000H單元開始,有100個(gè)無符號(hào)數(shù)(字節(jié)),編寫程序計(jì)算這100個(gè)數(shù)的和,并把和存放在1971H和1972H單元,且高位存放在1972H單元。程序如下:DATASEGMENTORG1000HN1DBn1,n2,n100N2EQU1971HCONEQU100DATAENDSSTACKSEGMENTSTACKSTACKDW100DUP(?)STACKENDSCODESEGMENTORG2000HASSUMECS:CODE,DS:DATA, SS:STACKMAINPROCSTART:MOVAX,DATAMOVDS,AXLEASI,N1MOVCX,CONXORAX,AXL1

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論