微機(jī)原理編程題集合_第1頁
微機(jī)原理編程題集合_第2頁
微機(jī)原理編程題集合_第3頁
微機(jī)原理編程題集合_第4頁
微機(jī)原理編程題集合_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微機(jī)原理編程題1. 分支程序設(shè)計.編寫一段程序,已知BUF1單元中有一帶符號字節(jié)數(shù)據(jù)X,BUF2中有一帶符號字節(jié)數(shù)據(jù)Y,根據(jù)以下函數(shù)關(guān)系編寫程序求Z的值,結(jié)果存入RESULT 單元。Z=|X-Y|;DATA SEGMENTBUF1 DB 05HBUF2 DB 02HRESULT DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,BUF1 MOV BL,BUF2 SUB AL,BL JNC GREAT NEG ALGREAT:MOV RESULT,ALEXIT: MOV AH,4C

2、H INT 21H CODE ENDS END START .編寫一段程序,已知BUF單元中有一無符號字節(jié)數(shù)據(jù)X,假設(shè)為8,根據(jù)以下函數(shù)關(guān)系編寫程序求Y的值,結(jié)果存入RESULT 單元。Z=5X X<10,X-5 X>=10;DATA SEGMENTBUF DB 8RESULT DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,BUF CMP AL,10 JAE GRE MOV BL,AL ADD AL,AL ADD AL,AL ADD AL,BL JMP DONEGR

3、E: SUB AL,5DONE: MOV RESULT,AL MOV AH,4CH INT 21H CODE ENDS END START.在內(nèi)存單元BUF中存放一個帶符號字節(jié)數(shù)據(jù)X,假定為-2,試根據(jù)以下函數(shù)關(guān)系編寫程序求Y的值,結(jié)果存入RESULT 單元。Y=1 X>0,0 X=0,-1 X<0;DATA SEGMENTBUF DB -2RESULT DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AL,BUF CMP AL,0 JGE L1 MOV AL,-1 J

4、MP L3L1:JZ L2 MOV AL,1 JMP L3L2:MOV AL,0L3:MOV RESULT,AL MOV AH,4CH INT 21HCODE ENDS END START 2. N個數(shù)中求最大值、最小值.假定N=10,已知原始數(shù)據(jù)存放在BUF開始的內(nèi)存單元中,將結(jié)果存入MAX,MIN內(nèi)存單元中。DATA SEGMENTBUF DB 3,5,7,8,5,3,9,7,13,1COUNT EQU $-BUFMAX DB ?MIN DB ? DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX

5、MOV CX,COUNT-1 MOV AL,BUF MOV MAX,AL MOV MIN,AL LEA SI,BUFAGAIN: MOV AL,SI+1CMP AL,MINJGE S1MOV MIN,ALS1:CMP AL,MAXJLE S2MOV MAX,ALS2: INC SI LOOP AGAIN MOV AH,4CH INT 21HCODE ENDS END START 3. 編寫程序求1+2+3+N<100時最大的N值,將N值送NUM單元中,同時將1+2+3+N的和送到SUM單元中。DATA SEGMENTNUM DB ?SUM DB ?DATA ENDSCODE SEGMEN

6、T ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,0 MOV BL,0AGAIN:INC BL ADD AL,BL CMP AL,100 JB AGAIN SUB AL,BL DEC BL MOV NUM,BL MOV SUM,AL MOV AH,4CH INT 21H CODE ENDS END START 4. 統(tǒng)計字符,正數(shù),負(fù)數(shù),零的個數(shù)。若自STRING單元開始存放一個字符串,以'$'結(jié)尾,試編寫程序,統(tǒng)計字符串的長度,并將結(jié)果存入COUNT單元。DATA SEGMENTSTRING DB '

7、abcdefg$'COUNT DW ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA SI,STRING MOV CX,0NEXT: MOV AL,SI CMP AL,'$' JZ DONE INC CX INC SI JMP NEXTDONE: MOV COUNT,CX MOV AH,4CH INT 21H CODE ENDS END START .自BUF單元開始存放10個帶符號字節(jié)數(shù)據(jù),將其中的正數(shù)、負(fù)數(shù)和零選出來,并統(tǒng)計其個數(shù),分別存入PLUS、MINUS和ZE

8、RO單元中。DATA SEGMENTBUF DB 5,-2,0,-1,4,0,-4,8,0,-7PLUS DB ?MINUS DB ?ZERO DB ?DATA ENDSCODE SEGMENTASSUME CS:DATA,DS:DATASTART:MOV AX,DATA MOV DS,AX LEA SI,BUF MOV CX,10AGAIN:MOV AL,BX INC BX AND AL,AL JS M1 JZ M2 INC PLUS JMP NEXTM1: INC MINUS JMP NEXTM2: INC ZERO JMP NEXTNEXT: LOOP AGAIN MOV AH,4CH

9、INT 21H CODE ENDS END START 5. 求壓縮BCD碼的和。已知從BUF1和BUF2單元開始,存放兩個各為10個字節(jié)的BCD數(shù),求這兩個數(shù)的和,并將結(jié)果存入BUF3單元中。DATA SEGMENTBUF1 DB 01H,01H,01H,01H,01H,01H,01H,01H,01H,01HBUF2 DB 03H,03H,03H,03H,03H,03H,03H,03H,03H,03HBUF3 DB 11 DUP(?) DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX

10、,10 LEA SI,BUF1 LEA DI,BUF2 LEA BX,BUF3AGAIN: MOV AL,SI ADC AL,DI DAA MOV BX,AL INC SI INC DI INC BX LOOP AGAIN ADC AH,0 MOV BX,AH MOV AH,4CH INT 21HCODE ENDSEND START6. 8255編程題:(課后實驗) 8255工作于方式0,此時PA、PB、PC均為可獨(dú)立輸入/輸出的并行口。8255的各寄存器對應(yīng)的口地址為:PA口:200H,PB口:202H,PC口:204H,控制口:206H。要求8255工作于方式0,PA口設(shè)置為輸入,PC口設(shè)

11、置為輸出。DATA SEGMENTC8255 EQU 206HP8255A EQU 200HP8255C EQU 204HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV DX,C8255 ;設(shè)置為A口輸入,C口輸出 MOV AL,90H OUT DX,AL BG: MOV DX,P8255A ;將A口狀態(tài)從C口輸出 IN AL,DX MOV DX,P8255C OUT DX,AL JMP BGCODE ENDS END START7.編寫一個匯編語言程序,要求從鍵盤輸入一個小寫字母,將其轉(zhuǎn)換成大寫字母在屏幕上顯示出來。DATA

12、0;  SEGMENT          BUF  DB 0DH,0AH,"PLEASE INPUT A CHAR:$" DATA ENDS STACK  SEGMENT           DB 20 DUP(?) S

13、TACK ENDS CODE SEGMENT            ASSUME  DS:DATA,CS:CODE ,SS:STACK BEGIN:  MOV AX,DATA          MOV DS,AX      

14、60;     LEA DX,BUF  9號調(diào)用顯示PLEASE INPUT A CHAR:          MOV AH,9          INT 21H           MOV

15、 AH,1 1號調(diào)用,從鍵盤接收1字符          INT 21H CMP  AL,61H  /41H   若比“a”/A小轉(zhuǎn)PEND  JB  PEND               CMP  

16、AL,7AH  /5BH  若比“z”/Z大轉(zhuǎn)PEND          JA PEND             ADD/SUB AL,20H    如在“a”與“z”之間則減去20變?yōu)榇髮懽址?#160;      &

17、#160;   MOV DL,AL             MOV AH,2     2號功能調(diào)用顯示一個字符           INT 21H PEND:   MOV AH,4CH 程序結(jié)束運(yùn)行,返回DOS 

18、;         INT 21H CODE    ENDSEND  BEGIN8.已知數(shù)據(jù)段中從偏移量DATA開始存放有10個帶符號的字?jǐn)?shù)據(jù),編寫程序,找出其中最大的數(shù)放入MAX中。 DA TA  SEGMENT    DATA DB 10 DUP(?)   MAX  DB ? 

19、;DA  ENDS CODE  SEGMENT    ASSUME CS:CODE,DS:DA START:MOV AX,DA          MOV DS,AX           MOV CX,9   LEA BX,DATA+1 &#

20、160;  MOV AL,DATA PP:   CMP AL,BX         JGE  NEXT         MOV AL,BX NEXT: INC BX        LOOP PP   

21、      MOV MAX, AL         MOV AH,4CH      INT 21H CODE  ENDS     END START 9.編寫程序,不用乘法計算CA4B×10,用移位運(yùn)算。 DATA  SEGMENT 

22、60;  A DB ?   B DB ?    C DB ? DATA  ENDS CODE  SEGMENT   ASSUME CS:CODE,DS:DATA  START:MOV AX,DATA          MOV DS,AX  

23、  MOV CL,2          MOV BL,A  SAR BL,CL    MOV AL,B    MOV CL,3          SAL B,CL         

24、 SAL AL,1    ADD AL,B    SUB BL,AL    MOV C,BL    MOV AH,4CH    INT 21H CODE  ENDS  END  START1. 設(shè)M/IO、RD和WR在某時刻分別為1、1和0,指令中與其對應(yīng)的是MOV  ES:DI, AX&

25、#160;  2. 執(zhí)行返回指令,退出中斷服務(wù)程序,這時返回地址來自堆棧區(qū) 。  3. 為了設(shè)定可編程I/O接口芯片的工作方式,必須通過_ 數(shù)據(jù)總線_傳送命令信息。 4. 從硬件角度而言,采用硬件最少的數(shù)據(jù)傳送方式為無條件傳送 。 5. 當(dāng)采用存儲單元與I/O端口統(tǒng)一編址時,CPU的數(shù)據(jù)傳送指令可以訪問I/O端口和存儲單元  。 6. 8253可編程定時/計數(shù)器工作在方式0時,控制信號GATE變?yōu)榈碗娖胶?,對計?shù)器的影響是暫時

26、停止現(xiàn)行計數(shù)工作 。9.  某系統(tǒng)中,欲用可編程并行接口芯片8255A的一個口來實現(xiàn)兩位輸入和兩位輸出,則應(yīng)選用C口。10.中斷向量地址是中斷服務(wù)程序入口地址的地址 。11. 8088/8086的一切復(fù)位信號至少要維持_4_個時鐘周期。 12. 8086/8088 CPU經(jīng)加電復(fù)位后,執(zhí)行第一條指令的地址是_FFFF0H_。 13.  在最小模式下,執(zhí)行“OUT DX, AL”指令時,M/IO, WR, RD, DT/R的狀態(tài)分別是0,

27、 0, 1, 1。 14.  假設(shè)某個總線周期需插入三個Tw等待狀態(tài),則該總線周期內(nèi)對READY信號檢測的次數(shù)是_4 。15. 如果用8位地址線實現(xiàn)輸入和輸出口尋址,可尋址的輸入、輸出口數(shù)最多為512。16. 一般的中斷過程分為中斷請求、  中斷判優(yōu),  、中斷響應(yīng)、中斷處理、    中斷返回 。17. 8086/8088最多能處理_256_種中斷。1二進(jìn)制數(shù)10101001轉(zhuǎn)換為10進(jìn)制數(shù)為169D  &

28、#160;,轉(zhuǎn)換為16進(jìn)制數(shù)為    A9H    。 2在LOOP循環(huán)控制指令中,用于指定循環(huán)次數(shù)的操作數(shù)的寄存器是        CX           。 3設(shè)(CS)=4000H,(DS)=2000H,(SS)=2510H,(BX)=0100H,(BP)=0010H (SI)=00A0H,

29、則指令MOV AX,BXSI有效地址為     01A0H                ,物理地址為       201A0H              。 

30、48086CPU外部有20根地址線,可尋址的內(nèi)存空間  220            。 5CPU和外設(shè)之間傳送的三種信息是  數(shù)據(jù)信息    ,   狀態(tài)信息  , 控制信息    。 6可編程中斷控制器8259A對程序員提供了    &

31、#160; 4    個初始化命令字和   3      個 操作命令字。  7計算機(jī)系統(tǒng)中的三大總線通常指    數(shù)據(jù)總線    、 地址總線  、 控制總線     。 8PC機(jī)的中斷源可分為   內(nèi)部中斷 

32、;、   外部中斷。 9每一條指令一般都有       操作碼      和   操作數(shù)          構(gòu)成。 10指令MOV AX,VALDI中,源操作數(shù)的尋址方式        變址 

33、;      方式。 11.設(shè)CF=0,AX=8000H,執(zhí)行ROR AX,1后,AX=4000H,CF=0。 12中斷向量是中斷服務(wù)程序入口地址。 13設(shè)(CS)=25FFH,(DS)=2140H,(SS)=2510H,(BP)=02D0H,(SI)=0010H,(DI)=0206H,則指令MOV AX,BP+SI+2的源操作數(shù)有效地址為02E2H,物理地址為253E2H。 14目前微型計算機(jī)的基本工作原理是存儲程序控制的原理,其基本結(jié)構(gòu)屬于馮·諾依曼結(jié)構(gòu)。

34、60;15一個完整的中斷過程應(yīng)該包括:中斷申請、中斷響應(yīng)、中斷服務(wù)(處理)和中斷返回四個階段。 16Intel 8086的中斷向量表中存放的是中斷向量。若在00000008開始的4個字節(jié)中分 別是11H,22H,33H,44H,則對應(yīng)的中斷類型號為2的中斷向量是14564H。 17在中斷方式下,當(dāng)外設(shè)已經(jīng)有數(shù)據(jù)要往CPU輸入或者準(zhǔn)備好接收數(shù)據(jù)時,接口會向CPU發(fā)一個中斷請求信號;在DMA方式下,外設(shè)要求傳輸數(shù)據(jù)時,接口會向DMAC發(fā)DMA請求信號。 18微機(jī)系統(tǒng)中數(shù)據(jù)傳送的控制方式有三種:程序控制方式、DMA方式和I/O處理機(jī)方式。 

35、19Intel CPU工作在內(nèi)存的實地址模式時,內(nèi)存的物理地址由.段地址和偏移地址兩部分組成。 20CPU的標(biāo)志寄存器中標(biāo)志位,可以分為兩大類,其中一類稱為  條件   標(biāo)志位,另一類稱為   狀態(tài)   標(biāo)志位。 218086/8088內(nèi)4個段寄存器DS,ES,CS,SS都是   16  位的,在用于內(nèi)存尋址時作為段地址,20位物理地址是由段寄存器的段地址  左  &

36、#160;移  4    位后,再與16位偏移量經(jīng)過  相加   運(yùn)算得到。 22設(shè) DA1 DW AB,CD,EF,GH,那么執(zhí)行指令MOV AX,DA1+3后,AX里值為      FC    。 23一般外設(shè)和存儲器的編碼方式有   統(tǒng)一編碼    &#

37、160; 和     獨(dú)立編碼   。 24一個完整的中斷過程應(yīng)該包括:_中斷申請_、_中斷響應(yīng)_、中斷服務(wù)和中斷返回四個階段。 25Intel 8086的中斷向量表能存放    256  個中斷向量,每個中斷向量為     4   字節(jié)。 26在串行通信數(shù)據(jù)傳送中,通常傳送方式有_ 單工_、半雙工和_全雙工_三種。&

38、#160;27微處理器芯片的時鐘頻率即 主頻       ,它決定了CPU的處理速度。 28堆棧主要用來存放暫時保存的數(shù)據(jù),采用    先進(jìn)后出         的方式。 29一片EPROM如果有13根地址線和4根數(shù)據(jù)線,那么它的容量是   4KB       

39、0;  。 1常用的I/O端口尋址方式有哪幾種?各自的特點如何? 答:系統(tǒng)對I/O端口的地址分配有兩種編址方式:統(tǒng)一編址和獨(dú)立編址。獨(dú)立編址方式,就是將存儲器和I/O端口建立兩個完全獨(dú)立的地址空間;CPU使用專門的信號來區(qū)分是對存儲器訪問還是對I/O端口進(jìn)行訪問. 獨(dú)立編址時,CPU對I/O端口的訪問必須用專門的輸入、輸出指令(IN、OUT指令)來實現(xiàn)數(shù)據(jù)的傳送,而輸入輸出數(shù)據(jù)的通道則與存儲器共享系統(tǒng)總線。  28259A的全嵌套方式和特殊全嵌套方式有什么差別?各自用在什么場合? 答:在特殊全嵌套方式下,當(dāng)處理某一級中斷時,如果有同級的中斷請求,那么,也會給響應(yīng)從而實現(xiàn)一種對同級中斷請求的特殊嵌套。在全嵌套方式中,只有當(dāng)更高級的中斷請求來到時,才會進(jìn)行嵌套,當(dāng)同級中斷請求來到時,會響應(yīng)。特殊全嵌套方式一般用在8259A級連的系統(tǒng)中。  3 什么叫總線?微機(jī)中的總線可分為哪幾級? 答:總線(BUS)就是計算機(jī)各部件之間傳送信息的公共通道。在微機(jī)中,有內(nèi)部總線和外部總線兩類:內(nèi)部總線是指CPU內(nèi)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論