版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
./TOC\o"1-3"\h\z\u8310微機(jī)原理及應(yīng)用習(xí)題集庫29903一、填空211739二、單項(xiàng)選擇題 62241三、程序分析題〔每小題6分,共24分 1611516四、判斷題〔在對(duì)的后面畫√,錯(cuò)的后面畫×:2520212五:分析判斷題〔判斷對(duì)錯(cuò),并指出錯(cuò)誤原因3129886六、簡(jiǎn)答題:3331036七、程序題 3832607八、接口芯片的綜合編程題504751〔一8255A501768〔二8259A561043〔三.其它端口編程題58.微機(jī)原理及應(yīng)用習(xí)題集庫〔請(qǐng)認(rèn)真復(fù)習(xí)4、5、7、10、11章后的習(xí)題一、填空87的原碼是01010111B=57H,補(bǔ)碼是01010111B,反碼01010111B。SP總是指向棧頂,若原先SP=2000H,SS=2000H,問CPU執(zhí)行指令PUSHAX后,AL內(nèi)容壓入物理地址為21FFEH存儲(chǔ)單元中,AH內(nèi)容壓入物理地址為21FFFH存儲(chǔ)單元中。以BX基址尋址,約定的段寄存器是DS,以BP基址尋址,約定的段寄存器是SS,變址尋址約定的段寄存器是DS。假設(shè)某個(gè)字的值是1234H,其低位字節(jié)地址是20H,高位字節(jié)地址是21H,那么該字地址是20H。8086/8088的狀態(tài)標(biāo)志有6〔SF、PF、AF、OF、ZF、CF個(gè)。8086/8088系統(tǒng)中,存儲(chǔ)器是分段的,每段最大長(zhǎng)度是64K字節(jié),段內(nèi)偏移地址從0000H到FFFFH。CPU訪問存儲(chǔ)器進(jìn)行讀寫操作時(shí),通常在T3狀態(tài)去檢測(cè)READY,一旦檢測(cè)到READY無效,就在其后插入一個(gè)Tw周期。匯編語言源程序中的語句有三種類型,它們是指令語句,偽指令語句,宏指令語句。、8086CPU尋址外設(shè)可以有兩種方式,一種是直接尋址方式,另一種是間接尋址方式。CPU與外設(shè)之間的連接部件稱為I/O接口,它的基本功能是在CPU與外設(shè)之間起緩沖作用。CPU從主存取出一條指令并執(zhí)行該指令的時(shí)間稱〔,它通常用若干個(gè)〔來表示,而后者又包括若干個(gè)〔。①指令周期②機(jī)器周期③時(shí)鐘周期答:1-2-314、數(shù)據(jù)的輸入/輸出指的是CPU與I/O接口進(jìn)行數(shù)據(jù)交換。15.已知X=-120,則X的原碼〔用八位二進(jìn)制表示是____________,補(bǔ)碼〔用八位二進(jìn)制表示是____________。16、8088中的指令I(lǐng)NTn用〔N指定中斷類型。17、8088的ALE引腳的作用是〔地址鎖存允許。一片8255A端口A有〔3種工作方式,端口B有〔2種工作方式。當(dāng)8255A口工作在方式1輸出時(shí),A口輸入信號(hào)聯(lián)絡(luò)線的名稱是IBF,輸出信號(hào)聯(lián)絡(luò)線的名稱是OBF<帶上劃線>。端口A可以工作在3種工作方式中的任意一種,端口B只能工作在方式0或方式1;〔對(duì)錯(cuò)題可編程并行接口芯片8255A共有〔A、〔B、〔C、和〔控制四個(gè)端口。8088的當(dāng)前代碼段、數(shù)據(jù)段和堆棧段段地址分別由〔、〔和〔提供。微型計(jì)算機(jī)由〔、〔和〔三大部分組成。20.8086/8088中級(jí)別最高的中斷類型是〔非屏蔽中斷,其中斷類型碼為〔2。-3的原碼是〔10000011,反碼是〔11111100,補(bǔ)碼是〔11111101。 以BX基址尋址,約定的段寄存器是〔DS,以BP基址尋址,約定的段寄存器是〔SS。一片8259A最多只能接收〔八級(jí)中斷。三片8259A最多能接收〔22級(jí)中斷。8259A中的中斷服務(wù)寄存器中存放的是〔正在處理的中斷請(qǐng)求0。十六進(jìn)制數(shù)30A轉(zhuǎn)換為二進(jìn)制是〔001100001010B。微型計(jì)算機(jī)由〔微處理器、〔存儲(chǔ)器和〔I/O接口電路組成。計(jì)算機(jī)記憶裝置的基本單元是〔觸發(fā)器。一個(gè)最基本的總線周期是由〔4個(gè)時(shí)鐘周期組成的。所謂最小模式,是指〔在系統(tǒng)中只有8086/8088一個(gè)微處理器。在8086/8088的引腳中,與總線有關(guān)的兩個(gè)引腳是〔HOLD和〔HLDA。中斷向量是〔中斷處理子程序的入口地址,每個(gè)中斷類型對(duì)應(yīng)一個(gè)中斷向量。MOVAX,[BX+DI+50]的尋址方式是〔基址加變址的相對(duì)尋址8086最多能處理<256>種中斷。-7的原碼是〔10000111,反碼是〔11111000,補(bǔ)碼是〔11111001。8259A中的中斷屏蔽寄存器中存放的是〔對(duì)各級(jí)中斷請(qǐng)求的屏蔽信息。在8088讀存儲(chǔ)器周期中,采樣Ready線的目的是〔測(cè)試外設(shè)數(shù)據(jù)是否準(zhǔn)備好。.微機(jī)系統(tǒng)中,ROM只能〔讀,RAM可〔隨機(jī)存取。寄存器是由〔觸發(fā)器組成的。一個(gè)機(jī)器周期是〔執(zhí)行一條指令的時(shí)間,機(jī)器周期又可分為〔取指周期和〔執(zhí)行周期。所謂最大工作模式,是指〔在系統(tǒng)中有二個(gè)以上的微處理器。對(duì)于地址/數(shù)據(jù)復(fù)用總線,在T1時(shí)刻,其傳輸?shù)男畔⑹恰驳刂沸盘?hào)。在8086/8088的引腳中,與中斷有關(guān)的三個(gè)引腳是〔NMI、〔INTR和〔INTA。所謂斷點(diǎn),就是指〔響應(yīng)中斷時(shí),主程序中當(dāng)前指令下面的下一條指令的地址。8088中的指令I(lǐng)NTn用〔n指定中斷類型。.8086最大模式下產(chǎn)生控制信號(hào)利用芯片8288總線控制器,最小/最大模式下,外部地址鎖存器利用芯片8282,外部數(shù)據(jù)收/發(fā)器利用芯片8286。子程序可以由Proc語句定義,由ENDP語句結(jié)束,屬性可以是NEAR或FAR。段定義偽指令語句用SEGMENT語句表示開始,以ENDS語句表示結(jié)束。邏輯地址為2000H:1234H的存儲(chǔ)單元的物理地址是。21234H 取指令時(shí),段地址由寄存器提供,偏移地址由寄存器提供。CS和IPCPU在執(zhí)行OUTDX,AL指令時(shí),寄存器的內(nèi)容送到地址總線上,寄存器的內(nèi)容送到數(shù)據(jù)總線上。DX和AL數(shù)據(jù)的輸入/輸出指的是CPU與進(jìn)行數(shù)據(jù)交換。I/O端口中斷矢量就是中斷服務(wù)子程序的入口地址,在內(nèi)存中占有4個(gè)存儲(chǔ)單元,其中低地址存儲(chǔ)單元存放的是偏移地址,高地址存儲(chǔ)單元存放的是段地址。中斷返回指令是RET,該指令將堆棧中保存的斷點(diǎn)彈出后依次裝入CS寄存器和IP寄存器中,將堆棧中保存的標(biāo)志裝入標(biāo)示寄存器FR中。CPU響應(yīng)8259A中斷,在INTA引腳上輸出二個(gè)負(fù)脈沖,在第二個(gè)負(fù)脈沖期間讀入中斷類型碼。二、單項(xiàng)選擇題1.若補(bǔ)碼用8位二進(jìn)制數(shù)表示,則可表示的最大正數(shù)是〔4?!?28〔228-1〔327〔427-12向外設(shè)端口輸出一個(gè)數(shù)據(jù)的指令是〔1〔1OUTDX,AL〔2INDX,AL〔3OUTAL,DX〔4INAL,DX3.完成同指令XCHGAX,BX相同功能的指令或指令序列是〔3。
①M(fèi)OVAX,BX
②MOVBX,AX
③PUSHAX
POPBX
④MOVCX,AX
MOVAX,BX
MOVBX,CX
1.當(dāng)有兩個(gè)8286時(shí),可為〔2CPU提供數(shù)據(jù)總線。
①8088②8086③80386④804862.3片8259A級(jí)聯(lián),最多可管理〔3級(jí)中斷。①24②.23③.22④.213.響應(yīng)NMI請(qǐng)求的必要條件是〔3。
①IF=1②IF=0③一條指令結(jié)束④無INTR請(qǐng)求
5.測(cè)試BL寄存器內(nèi)容是否與數(shù)據(jù)4FH相等,若相等則轉(zhuǎn)NEXT處執(zhí)行,可實(shí)現(xiàn)的方法是〔2。
①TESTBL,4FH③ANDBL,4FH
JZNEXTJZNEXT
②XORBL,4FH④ORBL,4FH
JZNEXTJZNEXT6.8086/8088的一個(gè)典型總線周期需要〔1個(gè)T狀態(tài)。
①4②3③2④17.指令指針寄存器是〔1。
①IP②SP③BP④PSW8.下面指令序列測(cè)試BH中的數(shù)是否為奇數(shù),若為奇數(shù)則轉(zhuǎn)移至K1處,橫線處的指令應(yīng)為〔。
TESTBH,01H
____1_____K1
①JNE②JZ③JS④JC9.下面的數(shù)據(jù)傳送指令中,錯(cuò)誤的操作是〔4。
①M(fèi)OVSS:[BX+DI],1000H②MOVDX,1000H
③MOVWORDPTR[BX],1000H④MOVDS,2000H10.8255A工作在方式1時(shí),端口A和端口B作為數(shù)據(jù)輸入/輸出使用,而端口C的各位分別作為端口A和端口B的控制信息和狀態(tài)信息。其中作為端口A和端口B的中斷請(qǐng)求信號(hào)的分別是端口C的〔。<A>PC4和PC2<B>PC5和PC1<C>PC6和PC7<D>PC3和PC0答:D1.8255芯片具有C端口。A2B3C>4D>52.8255的C一般用作控制或狀態(tài)信息傳輸。A端口AB端口BC端口CD端口C的上半部分3.對(duì)8255的端口A工作在方式1輸入時(shí),C口的C一定為空閑的。APC4、PC5BPC5、PC6CPC6、PC7DPC2、PC34.對(duì)8255的C口D3位置1的控制字為B。A00000110BB00000111BC00000100BD00000101B5.8255工作在方式1的輸出時(shí),OBF信號(hào)表示B。A輸入緩沖器滿信號(hào)B輸出緩沖器滿信號(hào)C輸入緩沖器空信號(hào)D輸出緩沖器空信號(hào)3.在PC/XT機(jī)中鍵盤的中斷類型碼是09H,則鍵盤中斷矢量存儲(chǔ)在B。A36H~39HB24H~27HC18H~21HD18H~1BH4.3片8259A級(jí)聯(lián)起來,可管理C級(jí)中斷。A24B23C22D20E16F155.若8259A工作在優(yōu)先級(jí)自動(dòng)循環(huán)方式,則IRQ4的中斷請(qǐng)求被響應(yīng)并且服務(wù)完畢后,優(yōu)先權(quán)最高的中斷源是B。AIRQ3B>IRQ5C>IRQ0D>IRQ47.PC/XT機(jī)中若對(duì)從片8259A寫入的ICW2是70H,則該8259A芯片的IRQ5的中斷矢量存儲(chǔ)的地址是D〔注:先算類型號(hào),再*4得到A75HB280HC300HD1D4H8.當(dāng)向8259A寫入的操作命令字OCW2為01100100時(shí),將結(jié)束E的中斷服務(wù)。AIRQ0BIRQ1CIRQ2DIRQ3EIRQ4FIRQ5GIRQ6HIRQ71.下面是關(guān)于可編程中斷控制器8259A的敘述,其中錯(cuò)誤的是〔3。①.8259A具有優(yōu)先級(jí)管理的功能②.8259A具有辨認(rèn)中斷源的功能③.8259A具有向CPU提供中斷向量的功能④.一片8259A可管理8級(jí)中斷2.由8088CPU組成的PC機(jī)的數(shù)據(jù)線是〔4。
①8條單向線②16條單向線③8條雙向線④16條雙向線
3.為8088CPU提供地址總線需要〔4。
①一個(gè)8286②兩個(gè)8286③兩個(gè)8282④三個(gè)82824.一個(gè)8259可提供〔2個(gè)類型號(hào)。
①1②8③16④645.響應(yīng)INTR請(qǐng)求的必要條件是〔2。
①IF=0②IF=1③TF=0④TF=16.完成將累加器AL清零,并使進(jìn)位標(biāo)志CF清零,下面錯(cuò)誤的指令是〔1。
①M(fèi)OVAL,00H②ANDAL,00H③XORAL,AL④SUBAL,AL7.當(dāng)執(zhí)行指令A(yù)DDAX,BX后,若AX的內(nèi)容為2BA0H,設(shè)置的奇偶標(biāo)志位PF=1,下面的敘述正確的是〔4。
①表示結(jié)果中含1的個(gè)數(shù)為偶數(shù)②表示結(jié)果中含1的個(gè)數(shù)為奇數(shù)
③表示該數(shù)為偶數(shù)④表示結(jié)果中低八位含1的個(gè)數(shù)為偶數(shù)8.在匯編語言程序中,對(duì)END語句的敘述正確的是〔3。
①END語句是一可執(zhí)行語句
②END語句表示程序執(zhí)行到此結(jié)束
③END語句表示源程序到此結(jié)束④END語句在匯編后要產(chǎn)生機(jī)器碼③AL=64H
BL=82H④AL=100H
BL=0FEH9.執(zhí)行下列指令后,正確的結(jié)果是〔2。
MOVAL,100
MOVBL,-2
①AL=100H
BL=02H
②AL=64H
BL=0FEH
10.當(dāng)一個(gè)帶符號(hào)數(shù)大于0FBH時(shí)程序轉(zhuǎn)移,需選用的條件轉(zhuǎn)移指令是〔3。
①JLE②JNL③③AL=64H
BL=82H④AL=100H
BL=0FEH1.寄存器間接尋址方式中,操作數(shù)在中。CA通用寄存器B堆棧C存儲(chǔ)單元D段寄存器2.尋址方式的跨段前綴不可省略。AADS:[BP]BDS:[SI]CDS:[DI]DSS:[BP]3.假設(shè)〔SS=2000H,〔SP=0012H,〔AX=1234H,執(zhí)行PUSHAX后,=12HA20014B20011HC20010HD2000FH4.若要檢查BX寄存器中的D15位是否為1,應(yīng)該用指令。CAORBX,1000HBTESTBX,1000HJNZNOJNZYESC>XORBX,1000HDANDBX,1000HJZYESJNZYES5.用BP作基址變址尋址時(shí),操作數(shù)所在的段是當(dāng)前。CA數(shù)據(jù)段B代碼段C堆棧段D附加段.若主程序段中數(shù)據(jù)段名為DATA,對(duì)數(shù)據(jù)段的初始化操作應(yīng)為。BAMOVAX,DATABMOVAX,DATAMOVES,AXMOVDS,AXCPUSHDSDMOVDS,DATA3..EXE文件產(chǎn)生在之后。DA匯編B編輯C用軟件轉(zhuǎn)換D連接4.定義雙字變量的定義符是。CADWBDQCDDDDT5.下列存儲(chǔ)器操作數(shù)的跨段前綴可省略的是。BADS:[BP]BSS:[BP]CES:[BX]DES:[SI]3.堆棧操作時(shí),段地址由寄存器指出,段內(nèi)偏移量由寄存器指出。C、GACSBDSCSSDESEDIFSIGSPHBP4.若當(dāng)前DS的內(nèi)容為2000H,則偏移量為1000H單元的地址可表示為。BA2000H.1000HB21000HC1000H∶2000HD3000H3.8086CPU在執(zhí)行INAL,DX指令時(shí),DX寄存器的內(nèi)容輸出到上。AA地址總線B數(shù)據(jù)總線C>存儲(chǔ)器D>寄存器2.8086CPU復(fù)位后,CPU執(zhí)行的第一條指令的起始地址應(yīng)是BA>ROM,FFFF0HB>RAM,FFFF0HC>ROM,FFFFHD>RAM,FFFFH3.下述指令,正確的指令是d〔設(shè)BUF是字節(jié)變量,LAB為標(biāo)號(hào)a.MOVBX,ALb.MOVBX,BUFc.MOVBX,LABd.MOVBX,OFFSETBUF4.下述中斷,優(yōu)先權(quán)級(jí)別最高的中斷是aa.NMIb.INTRc.單步中斷d.INTn6.8086CPU的40根引腳中,有c個(gè)是分時(shí)復(fù)用的。A1B16C21D247、用BP作基址變址尋址時(shí),操作數(shù)所在的段是當(dāng)前C。A數(shù)據(jù)段B代碼段C堆棧段D附加段8.執(zhí)行下列指令:STR1DW‘NO’STR2DB14DUP〔?CONTEQU$-STR1MOVCX,CONTMOVAX,STR1HLT后寄存器CL的值是D。A0FHB0EHC12HD10H9、接口的基本功能是C和D。A輸出鎖存B輸入鎖存C輸出緩沖D輸入緩沖10、堆棧操作時(shí),段基址由C寄存器指出,段內(nèi)偏移量由SP寄存器指出。A>CSB>DSC>SSD>ES11.下列四條指令中錯(cuò)誤的是D。AMOVAX,[SI]BMOVAX,[BP+DI]CMOVAX,[DI]DMOVAX,[BP—DI]12、在8086/8088系統(tǒng)中,約定用于形成堆棧段數(shù)據(jù)物理地址的寄存器有A。ASS,SP,BPBSS,SP,BXCDS,BX,BPDDS,SP,BP13、.EXE文件產(chǎn)生在D之后。A匯編B編輯C用軟件轉(zhuǎn)換D連接15.指令指針寄存器是〔1。
①IP
②SP
③BP
④PSW
16.完成將累加器AL清零,并使進(jìn)位標(biāo)志CF清零,下面錯(cuò)誤的指令是〔1。
①M(fèi)OVAL,00H
②ANDAL,00H
③XORAL,AL
④SUBAL,AL
17.下列指令執(zhí)行后總是使CF=0,OF=0的是〔1。
①AND
②NEG
③NOT
④INC22.下面的數(shù)據(jù)傳送指令中,錯(cuò)誤的操作是〔1。
①M(fèi)OVSS:[BX+DI],1000H
②MOVDX,1000H
③MOVWORDPTR[BX],1000H
④MOVDS,2000H
23.下面指令執(zhí)行后,變量DAB中的內(nèi)容是〔3。
DAWDW2A05H
DABDB0FAH
:
MOVAL,BYTEPRTDAW
SUBDAB,AL
①0DAH
②0FAH
③0F5H
④0D0H
24.執(zhí)行下列指令后,正確的結(jié)果是〔2。
MOVAL,100
MOVBL,-2
①AL=100H
BL=02H
②AL=64H
BL=0FEH
③AL=64H
BL=82H
④AL=100H
BL=0FEH
25.設(shè)數(shù)據(jù)段中已有:
DA1DB12H,34H
DA2DW56H,78H
下面有語法錯(cuò)誤的語句是〔2。
①ADR1DWDA1
②MOVDA1+1,AX
③MOVBYTEPTRDA2+1,AL
④MOVWORDPTRDA1+1,AX
27.DATASEGMENT
TA1DW0102H,0304H,0506H
TA2DB02H,03H,04H
:
MOVBX,DS:[0006H]
ANDBX,0FFH
ANDBH,[BX]
上述指令序列運(yùn)行后,BX的內(nèi)容是〔4。
①0605H
②0402H
③0606H
④0204H
32.IBMPC機(jī)的8088處于最大模式,其總線仲載是由〔2裁決。
①非RQ/非GT
②8289
③8087
④8288
33.8088的一個(gè)總線周期可交換〔3字節(jié)。
①4
②2
③1
④1/8
三、程序分析題〔每小題6分,共24分1.ADW1234H
BDW5678H
:
PUSHA
PUSHB
POPA
POPB
試回答:①上述程序段執(zhí)行后〔A=_______,〔B=______
②設(shè)執(zhí)行前SP=200H,執(zhí)行后SP=____________
2AB.讀下面程序段,請(qǐng)問,在什么情況下,本段程序的執(zhí)行結(jié)果是AH=0?BEGIN:INAL,5FHTESTAL,80HJZBRCH1MOVAH,0JMPSTOPBRCH1:MOVAH,0FFHSTOP:HLT答:3A.現(xiàn)有下列程序段:
MOVAX,6540H
MOVDX,3210H
MOVCL,04
SHLDX,CL
MOVBL,AH
SHLAX,CL
SHRBL,CL
ORDL,BL
試問上述程序段運(yùn)行后,
〔AX=_____________
〔BL=_____________
〔DX=_____________4A現(xiàn)有下列程序段MOVAL,60HMOVBL,20HSTCADCAL,BL問程序執(zhí)行后,AL=BL=CF=.已知<DS>=09lDH,<SS>=1E4AH,〔AX=1234H,〔BX=0024H,〔CX>=5678H,〔BP=0024H,〔SI=0012H,〔DI=0032H,〔09226H=00F6H,〔09228H=1E40H,〔1E4F6H=091DH。下列各指令或程序段分別執(zhí)行后的結(jié)果如何?〔1MOV CL,20H[BX][SI]〔2MOV [BP][DI],CX〔3LEA BX,20H[BX][SI]MOV AX,2[BX]〔4LDS SI,[BX][DI]MOV [SI],BX〔5XCHG CX,32H[BX]XCHG20H[BX][SI],AX答<1><CX>=56F6H;<2><09226H>=5678H;<3><AX>=1E40H;<4><1E4F6H>=0024H;<5><09226H>=1234H,<AX>=5678H.1.假設(shè)寄存器AX=1234H,DX=0A000HMOVBX,0MOVCX,BXSUBCX,AXSBBBX,DXMOVAX,CXMOVDX,BX上述程序段執(zhí)行后AX=0FDCFH,DX=60000H程序功能是對(duì)原AX、DX中的值求補(bǔ)碼,因?yàn)槿⊙a(bǔ)碼指令就相當(dāng)于用0減去此操作數(shù),見書本P122.4.分析下面程序段,
MOVAL,200
SARAL,1
MOVBL,AL
MOVCL,2
SARAL,CL
ADDAL,BL
試問程序段執(zhí)行后<BL=11100100B=_E4H_〔AL=11111001B=F9H5.程序段如下:
BLK1DB46,84,34,-5,20,122,73
:
MOVCX,7
LEAS1,BLK1
NEXT:MOVAL,[SI]
INCSI
TESTAL,81H
LOOPZNEXT
MOVBL,[SI]
:
請(qǐng)回答程序段運(yùn)行后:〔AL=_____46_______
〔BL=____84________14.對(duì)于下面的數(shù)據(jù)定義,各條MOVE指令單獨(dú)執(zhí)行后,有關(guān)寄存器的內(nèi)容是什么?FLDBDBTABLEADW20DUP〔?TABLEBDB‘ABCD’MOVEAX,TYPEFLDBMOVEAX,TYPETABLEAMOVECX,LENGTHTABLEAMOVEDX,SIZETABLEAMOVECX,LENGTHTABLEB解答:AX=0001HAX=0002HCX=0014HDX=0028HCX=0001H。19.讀下面程序段,請(qǐng)問:在什么情況下,本段程序的執(zhí)行結(jié)果是AH=0?BEGIN:INAL,5FHTESTAL,80HJZBRCHlMOVAH,0JMPSTOPBRCHl:MOVAH,0FFHSTOP:HLT解答:AL中的最高位為1時(shí)。20.讀程序:START:INAL,20HMOVBL,ALINAL,30HMOVCL,ALMOVAX,0ADLOP:ADDAL,BLADCAH,0DECCLJNZADLOPHLT請(qǐng)問:<1>本程序?qū)崿F(xiàn)什么功能?<2>結(jié)果在哪里?解答:完成20H*30H,結(jié)果在AX中。21.請(qǐng)編一程序段完成AX*l0的任務(wù)<要求不準(zhǔn)用乘法指令做>。解答:MOVBX,AXMOVCL2SHLAX,CLADDAX,BXSHLAX,122.編程序使:<1>AX寄存器低4位清零。<2>BX寄存器低4位置"1"。<3>CX寄存器低4位變反。<4>用TEST指令測(cè)試DL寄存器位3、位6是否同時(shí)為0,若是,將0送DL;否則l送DH。解答:1,ANDAX,0FFF0H2,ORBX,000FH3,XORCX,000FH4,TESTDL,48HJZLOOPMOVDH,1HLTLOOP:MOVDL,0HLT23.編一程序段,完成符號(hào)函數(shù)<-128≤x≤127>: 1<x.>0>y=0<x=0>-1<x<0>假設(shè)x的值存放在DATAl中,y的值存放在DATA2中。解答:START:MOVAL,DATA1ANDAL,ALJGEBIGRMOVAL,0FFHMOVDATA2.ALHLTBIGR:JEEQULMOVAL,1MOVDATA2,ALHLTEQUL:MOVDATA2,ALHLT24.設(shè)AX寄存器中有一個(gè)16位二進(jìn)制數(shù),編一程序,統(tǒng)計(jì)AX中"l"的個(gè)數(shù),統(tǒng)計(jì)結(jié)果送CX中。解答:START:MOVCX,0LOOP:SUBAX,0JZSTPSALAX,1JNCNODINCCXNOD:JMPLOOPSTP:HLT25.編一子程序利用XLAT指令把十六進(jìn)制數(shù)轉(zhuǎn)換成ASCII碼。假設(shè)ASCII碼存放在以DAT1為首地址的數(shù)據(jù)區(qū)中,對(duì)應(yīng)的16進(jìn)制數(shù)放在以DAT2為首地址的數(shù)據(jù)區(qū)中,轉(zhuǎn)換結(jié)果送以DAT3為首地址的數(shù)據(jù)區(qū)中。解答:MAIN:PUSHBXPUSHSIPUSHDIPUSHCXPUSHALPUSHDSSTART:MOVBX,DATA1MOVSI,DATA2MOVDIDATA3MOVCX,16NEST:LODSBXLATDATA1STOSBLOOPNESTPOPDSPOPALPOPCXPOPDIPOPSIPOPBXRET設(shè)AX=0FFH,執(zhí)行ANDAX,86H后,AX=?AX=86H設(shè)AX=1000H,DX=2000H,CX=3000H,SP=1234H執(zhí)行PUSHCXPUSHDXPUSHAX后,SP=?再執(zhí)行POPCXPOPDXPOPAX后,AX=?,DX=?,SP=?答:SP=122EHAX=3000H,DX=2000H,SP=1234H〔錯(cuò)一題扣2分,錯(cuò)2題扣3.5分7.請(qǐng)完成如下程序段,使它完成求|AX-BX|,結(jié)果放在AX的功能。AX,BXJCSUBAX,BXAA1AA:SUB,MOVAX,BXAA1:HLTCMPAX,BX〔1分JCAA〔1分SUBAX,BXJMPAA1〔2分AA:SUBBX〔1分,AX〔1分MOVAX,BXAA1:HLT下面是多字節(jié)加法程序,第一個(gè)數(shù)是8A0BH,第二個(gè)數(shù)是D705H。請(qǐng)?zhí)顚懗稣_結(jié)果。〔7分DATASEGMENTFIRSTDB,,0HSECONDDB,DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,MOVSI,0NEXT:MOVAL,SECOND[SI]ADCFIRST[SI],ALINCSILOOPNEXTMOVAL,0ADCAL,MOVFIRST[SI],ALMOVAH,4CHINT21HCODEENDSENDSTART四、判斷題〔在對(duì)的后面畫√,錯(cuò)的后面畫×:1、段內(nèi)轉(zhuǎn)移指令執(zhí)行結(jié)果要改變IP、CS的值。<×>2、PUSHCS。<√3、OUT2000H,AL〔×4、MOVAH,BX〔錯(cuò)5、8088中,取指令和執(zhí)行指令可以重疊操作?!病?/p>
6、MOV[BX],[SI]〔×
7、8088CPU用邏輯地址1234H:5678H訪問時(shí),可交換一個(gè)字?!病?、MOVBYTEPTR[BX],1000〔×9、MOV5,AL〔×10、MOVAX,[SI+DI]<×>2、8088的數(shù)據(jù)可以存放在幾個(gè)不連續(xù)的段中。〔√4.ADD15H,BX〔錯(cuò)5、REP是指令前綴,重復(fù)操作的條件是CX≠0。〔對(duì)6、POPCS〔錯(cuò)7、MOVCS,AX〔錯(cuò)8、MOV[BX],[SI]〔錯(cuò)9、INAL,2000H〔錯(cuò)10、8086中,取指令和執(zhí)行指令可以重疊操作?!矊?duì)11.當(dāng)8086CPU內(nèi)標(biāo)志寄存器中的IF=0時(shí),意味著禁止CPU響應(yīng)所有類型的中斷?!插e(cuò)12.一個(gè)外設(shè)最多可含有控制端口、數(shù)據(jù)端口、狀態(tài)端口三種類型的端口。〔對(duì)13.若BUF是變量名,指令LEABX,BUF和指令MOVBX,OFFSETBUF是等效的?!矊?duì)14.OUT3FCH,AL指令是正確的。<錯(cuò),16位地址端口號(hào)要先賦給DX>15.8255AA口工作在方式1輸入,B口工作在方式0輸出的方式控制字是0011×00×B?!插e(cuò)16.若SS=2000H,SP=1000H,執(zhí)行指令PUSHAX后,AX內(nèi)容壓入21000H字單元中?!插e(cuò)17.所謂尋址方式是指CPU執(zhí)行指令時(shí)尋找操作數(shù)的方式?!矊?duì)18.8086CPU所有外部中斷,僅INTR需申請(qǐng)中斷的外設(shè)提供中斷類型碼?!插e(cuò)19.一個(gè)外設(shè)最多含有控制端口和數(shù)據(jù)端口?!插e(cuò),還有狀態(tài)端口20.8086CPU內(nèi)部F標(biāo)志寄存器的所有標(biāo)志位均可用指令事先置1或清0?!矊?duì),用SAHF設(shè)置標(biāo)志指令,見書本P11921.執(zhí)行INAL,DX指令時(shí),DX的內(nèi)容送到數(shù)據(jù)總線上?!插e(cuò)22、段內(nèi)轉(zhuǎn)移指令執(zhí)行結(jié)果要改變IP、CS的值。<錯(cuò)>23.8255工作在方式1的輸出時(shí),OBF信號(hào)表示輸出緩沖器滿信號(hào)。〔對(duì)24.有數(shù)據(jù)定義NUMDB‘123456’,經(jīng)匯編后,NUM占有3字節(jié)存儲(chǔ)單元。〔錯(cuò),應(yīng)是6個(gè)字節(jié)的存儲(chǔ)單元,每一個(gè)存的是對(duì)應(yīng)的字符ASCII碼值25.OUTDX,AL指令的輸出是16位操作數(shù)?!插e(cuò)26.若SP=1000H,則執(zhí)行指令PUSHAX后,〔SP=0FFEH?!矊?duì)27.8088CPU對(duì)內(nèi)存讀/寫1個(gè)字均需兩個(gè)總線周期。〔對(duì).MOVAH,BX〔錯(cuò).ADD15H,BX〔錯(cuò).MOVCS,AX〔錯(cuò).MOVAX,[SI][DI]<錯(cuò),不能同時(shí)使用兩個(gè)變址寄存器>MOVAX,[CX]〔錯(cuò)MOV[1000H],[2000H]〔錯(cuò).MOVBYTEPTR[BX],1000H〔對(duì)SAR指令左補(bǔ)零〔錯(cuò)執(zhí)行CMP指令后,操作數(shù)的值會(huì)改變〔錯(cuò)8088的Ready信號(hào)是由外部硬件產(chǎn)生的。………………〔對(duì)/及HOLD、HLDA信號(hào)是與系統(tǒng)中其它總線主設(shè)備有關(guān)的信號(hào)。……………〔對(duì)8088的信號(hào)可用作中斷矢量的讀選通信號(hào)?!矊?duì)8088的數(shù)據(jù)可以存放在幾個(gè)不連續(xù)的段中?!矊?duì)、8088中,取指令和執(zhí)行指令可以重疊操作?!矊?duì)8088的可屏蔽中斷的優(yōu)先權(quán)高于非屏蔽中斷?!插e(cuò)多個(gè)外設(shè)可以通過一條中斷請(qǐng)求線,向CPU發(fā)中斷請(qǐng)求?!矊?duì)8255A中端口A使用的是INTR,及等線是端口C的線。………〔對(duì),見工作方式1的圖、中斷服務(wù)程序可放在用戶可用的內(nèi)存的任何區(qū)域?!插e(cuò)8086系統(tǒng)的存儲(chǔ)器中各段的大小固定為64KB,同時(shí)各段之間可以重疊?!矊?duì)堆棧操作所訪問的段是由SS和ES所指定。〔錯(cuò)在存儲(chǔ)器連接過程中,應(yīng)注意避免地址重疊?!插e(cuò)內(nèi)部中斷的優(yōu)先權(quán)總是高于外部中斷?!矊?duì)兩片8259A級(jí)連后可管理16級(jí)中斷。<錯(cuò)>8259A所管理的中斷源中,優(yōu)先級(jí)低的中斷源不可能中斷優(yōu)先級(jí)高的中斷服務(wù)子程序。〔錯(cuò)若8259A中斷屏蔽字OCW1為00H,則8259A所管理的8級(jí)中斷全被屏蔽.<錯(cuò)>只要8259A所管理的中斷源沒有被屏蔽,則任何中斷源的中斷請(qǐng)求都能得到CPU的響應(yīng)和服務(wù)。<錯(cuò)>.給8255C口PC3按位置位字是06H?!插e(cuò).當(dāng)8086CPU內(nèi)標(biāo)志寄存器中的IF=0時(shí),意味著禁止CPU響應(yīng)所有類型的中斷。〔錯(cuò)一個(gè)外設(shè)最多可含有控制端口、數(shù)據(jù)端口、狀態(tài)端口三種類型的端口?!矊?duì).在8086微機(jī)系統(tǒng)中,通常外設(shè)的中斷申請(qǐng)接至8259A的IR上,8259A的中斷申請(qǐng)線接至CPU的INTR。〔對(duì)8086CPU對(duì)內(nèi)存讀/寫1個(gè)字的操作僅需一個(gè)總線周期?!插e(cuò)總線控制器8288專門用于8086最大模式下產(chǎn)生控制信號(hào)。〔對(duì).兩片8259A采用主從連接方式時(shí),最多可接收15級(jí)中斷請(qǐng)求。〔對(duì)執(zhí)行INAL,DX指令時(shí),DX的內(nèi)容送到數(shù)據(jù)總線上?!插e(cuò),到AL段內(nèi)轉(zhuǎn)移指令執(zhí)行結(jié)果要改變IP、CS的值。<錯(cuò)>若SS=2000H,SP=1000H,執(zhí)行指令PUSHAX后,AX內(nèi)容壓入21000H字單元中。〔對(duì)在8086/8088中,內(nèi)中斷源的級(jí)別均比外中斷源級(jí)別高。〔錯(cuò)8088CPU用邏輯地址1234H:5678H訪問時(shí),可交換一個(gè)字?!插e(cuò).在PC機(jī)上可用地址400H來訪問I/O端口?!插e(cuò).當(dāng)8255的PA口方式1輸出時(shí),若外設(shè)有負(fù)脈沖回答,則PC3定會(huì)上升為高電平?!矊?duì).CPU響應(yīng)HOLD請(qǐng)求的條件之一是指令周期結(jié)束?!矊?duì)若BUF是變量名,指令LEABX,BUF和指令MOVBX,OFFSETBUF是等效的。2.OUT3FCH,AL指令是正確的。3.8255AA口工作在方式1輸入,B口工作在方式0輸出的方式控制字是0011×00×B。4.若SS=2000H,SP=1000H,執(zhí)行指令PUSHAX后,AX內(nèi)容壓入21000H字單元中。5.所謂尋址方式是指CPU執(zhí)行指令時(shí)尋找操作數(shù)的方式。〔對(duì)6.8086CPU所有外部中斷,僅INTR需申請(qǐng)中斷的外設(shè)提供中斷類型碼?!插e(cuò)7.8086CPU沒有直接對(duì)TF標(biāo)志位置1或清0的指令。1、8088的Ready信號(hào)是由外部硬件產(chǎn)生的。
A.正確
B.不正確2、/及HOLD、HLDA信號(hào)是與系統(tǒng)中其它總線主設(shè)備有關(guān)的信號(hào)。
A.正確
B.不正確3、8088的信號(hào)可用作中斷矢量的讀選通信號(hào)。
A.正確
B.不正確4、8088的數(shù)據(jù)可以存放在幾個(gè)不連續(xù)的段中。
A.正確
B.不正確6、8088的可屏蔽中斷的優(yōu)先權(quán)高于非屏蔽中斷。
A.正確
B.不正確7、多個(gè)外設(shè)可以通過一條中斷請(qǐng)求線,向CPU發(fā)中斷請(qǐng)求。
A.正確
B.不正確12、串行異步接口的雙向工作方式指的是在串行接口上可同時(shí)發(fā)送和接收串行數(shù)據(jù)。
A.正確
B.不正確14、中斷服務(wù)程序可放在用戶可用的內(nèi)存的任何區(qū)域。
A.正確
B.不正確五:分析判斷題〔判斷對(duì)錯(cuò),并指出錯(cuò)誤原因1.下面哪些指令是非法的?<假設(shè)OPl,OP2是已經(jīng)用DB定義的變量><1>CMPl5,BX<2>CMPOPl,25<3>CMPOPl,OP2<4>CMPAX,OPl答:〔1CMP15,BX非法,兩個(gè)操作數(shù)不能一個(gè)為字,一個(gè)為字節(jié)〔2CMPOP1,25正確〔3CMPOP1,OP2正確〔4CMPAX,OP1非法,兩操作數(shù)不能一個(gè)為字,一個(gè)為字節(jié)2.假設(shè)下列指令中的所有標(biāo)識(shí)符均為類型屬性為字的變量,請(qǐng)指出下列指令中哪些是非法的?它們的錯(cuò)誤是什么?<1>MOVBP,AL<2>MOVWORD_OP[BX+4*3][DI],SP<3>MOVWORD_OPl,WORD_OP2<4>MOVAX,WORD_OPl[DX]<5>MOVSAVE_WORD,DS<6>MOVSP,SS:DATA_WORD[BX][SI]<7>MOV[BX][SI],2<8>MOVAX,WORD_OPl+WORD_OP2<9>MOVAX,WORD_OPl-WORD_OP2+100<10>MOVWORD_OPl,WORD_OPl-WORD_OP2答:〔1MOVBP,AL非法,BP為16位AL為八位〔2MOVWORD_OP[BX+4*3][DI],SP正確〔3MOVWORD_OP1,WORD_OP2非法,兩個(gè)操作數(shù)不能都是變量〔4MOVAX,WORD_OP1[DX]非法,[DX]應(yīng)改為[BX],[BP],[SI]或[DI],則為寄存器相對(duì)尋址?!?MOVSAVE_WORD,DS非法,未指明數(shù)據(jù)段地址DS的偏移量〔6MOVSP,SS:DATA_WORD[BX][SI]非法,SS與[BX],[SI]不匹配,SS的偏移量用SP〔7MOV[BX][SI],2正確〔8MOVAX,WORD_OP1+WORD_OP2正確〔9MOVAX,WORD_OP1—WORD_OP2+100正確〔10MOVWORD_OP1,WORD_OP1—WORD_OP2非法3.假設(shè)VAR1和VAR2為字變量,LAB為標(biāo)號(hào),試指出下列指令的錯(cuò)誤之處:<1>ADDVAR1,VAR2<2>SUBAL,VAR1<3>JMPLAB[SI]<4>JNZVARl<5>JMPNEARLAB答:〔1ADDVAR1,VAR2ADD指令中,目的操作數(shù)必須是寄存器或存儲(chǔ)單元。〔2SUBAL,VAR1AL為8位的,而VAR為字變量16位〔3JMPLAB[SI]格式不對(duì),LAB處應(yīng)為一偏移量,而不是標(biāo)號(hào)?!?JNZVAR1JNZ為非零轉(zhuǎn)移,應(yīng)轉(zhuǎn)移到某個(gè)程序段,故后面應(yīng)為一個(gè)標(biāo)號(hào)?!?JMPNEARLAB段內(nèi)直接轉(zhuǎn)移,格式應(yīng)為JMPNEARPTRLAB六、簡(jiǎn)答題:1、設(shè)一個(gè)8字節(jié)數(shù)據(jù)存放在內(nèi)存中,它的起始單元的物理地址為223A0H,若當(dāng)前的段基址DS=2000H,由該數(shù)據(jù)起始單元的偏移地址是多少?答:為23A0H1、假定<SS>=2000H,<SP>=0100H,<AX>=2107H,執(zhí)行指令PUSHAX后,存放數(shù)據(jù)21H的物理地址是多少?解答:07H21H<—原棧頂20100存放數(shù)據(jù)21H的物理地址是200FFH2、8086CPU與8088CPU有哪些相同之處?又有哪些區(qū)別?答:兩者的內(nèi)部結(jié)構(gòu)基本相同,內(nèi)部都采用16位字進(jìn)行操作及存儲(chǔ)器尋址,兩者的軟件完全兼容,程序的執(zhí)行也完全相同,兩種處理器都封裝在相同的40腳雙列直插組件〔DIP中。但它們的外部性能有區(qū)別。8086是16位數(shù)據(jù)總線,而8088是8位數(shù)據(jù)總線,在處理一個(gè)16位數(shù)據(jù)字時(shí),8088需要兩步操作而8086只需要一步。3、中斷入口地址表的功能是什么?已知中斷類型碼分別為84H,它們的中斷入口在中斷入口地址表的什么位置上?答:中斷入口地址表的功能是存放中斷服務(wù)程序的入口地址。84H〔10000100B的中斷入口在中斷入口地址表的001000010000B,即0210H處,即其偏移地址放在0210H和0211H兩個(gè)單元中,而段地址放在0212H和0213H兩個(gè)單元中。4、什么叫總線周期?8086CPU的一個(gè)總線周期包括多少時(shí)鐘周期,什么情況下要插入TW等待周期?插入多少個(gè)TW取決于什么因素?答:總線周期是CPU或其他總線控制設(shè)備訪問一次存儲(chǔ)器或I/O端口所需的時(shí)間。在總線周期中需要利用總路線。8086CPU的一個(gè)標(biāo)準(zhǔn)總線周期包括4個(gè)時(shí)鐘周期。當(dāng)4個(gè)時(shí)鐘周期不能完成所規(guī)定的操作時(shí),可以插入一個(gè)或多個(gè)等待時(shí)鐘周期TW。插入多少個(gè)TW取決于所訪問的存儲(chǔ)器或者I/O設(shè)備是否準(zhǔn)備就緒,此信號(hào)由引腳READY發(fā)出。5、假如8086系統(tǒng)中的CS=2000H,IP=2100H其物理地址應(yīng)是多少?答:物理地址為20000H+2100H=22100H。6、若將某8259A芯片的ICW2定義為39H,則該8259A的8級(jí)中斷類型碼是多少?答:39H即為:00111001,故其類型碼最低的為00111000,即38H;最高為00111111,即3FH。故其中斷類型碼為:38H3FH7、8086CPU從功能上分為幾部分?各部分的功能是什么?答:8086CPU從功能上分外兩大部分,一是執(zhí)行部件〔EU,二是總線接口部件〔BIU。執(zhí)行部件是由以下四部分組成:〔14個(gè)通用寄存器AX,BX,CX,DX?!?4個(gè)專用寄存器BP,SP,XI,DI?!?標(biāo)志寄存器FR?!?算術(shù)邏輯部件ALU。功能是負(fù)責(zé)執(zhí)行所以的指令,向總線接口部件〔BIU提供指令執(zhí)行的結(jié)果數(shù)據(jù)和地址,并對(duì)通用寄存器和標(biāo)志寄存器進(jìn)行管理??偩€接口部件〔BIU由以下部件組成:〔1四個(gè)段寄存器,代碼段寄存器,數(shù)據(jù)段寄存器,附加段寄存器,堆棧段寄存器?!?指令指針寄存器。〔3地址加法器。〔4指令領(lǐng)隊(duì)列。功能:執(zhí)行外部總線周期,負(fù)責(zé)存儲(chǔ)器與I/O端口傳送數(shù)據(jù)。也就是負(fù)責(zé)CPU與存儲(chǔ)器和外設(shè)之間的信息交換。8、什么是最大模式〔或最大組態(tài)?什么是最小模式〔或最小組態(tài)?用什么方法將8086/8088置于最大模式和最小模式?答:最小模式,即系統(tǒng)中只有一個(gè)微處理器,所有的總線控制信號(hào)都直接由8086/8088,因此,系統(tǒng)總線控制電路被減到最小。最大模式,即系統(tǒng)里包括兩個(gè)或多個(gè)微處理器,主處理器就是8086/8088,其它均為協(xié)助主處理器工作的協(xié)處理器。它主要用于中等規(guī)?;虼笮偷?086/8088系統(tǒng)中。將8086/8088的第33腳接地時(shí),系統(tǒng)處于最大模式,接+5V時(shí),為最小模式9、什么是地址鎖存器?8086/8088系統(tǒng)中為什么要用地址鎖存器?鎖存的是什么信息?答:地址鎖存器就是一個(gè)暫存器,它根據(jù)控制信號(hào)的狀態(tài),將總線上地址代碼暫存起來。8086/8088數(shù)據(jù)和地址總線采用分時(shí)復(fù)用操作方法,即用同一總線既傳輸數(shù)據(jù)又傳輸?shù)刂?。?dāng)微處理器與存儲(chǔ)器交換信號(hào)時(shí),首先由CPU發(fā)出存儲(chǔ)器地址,同時(shí)發(fā)出允許鎖存信號(hào)ALE給鎖存器,當(dāng)鎖存器接到該信號(hào)后將地址/數(shù)據(jù)總線上的地址鎖存在總線上,隨后才能傳輸數(shù)據(jù)。10、8086/8088系統(tǒng)中的8286是什么器件?起什么作用?答:8286為總線驅(qū)動(dòng)器〔收發(fā)器,雙向數(shù)據(jù)緩沖器,當(dāng)一個(gè)系統(tǒng)中所含外設(shè)接口較多時(shí),用來增強(qiáng)數(shù)據(jù)總線的驅(qū)動(dòng)能力。11、.指出下列各指令中源操作數(shù)的尋址方式1MOVDI,1002MOV[SI],AX3ADDAX,[BX+SI]4MOVDX,[1000H]5ANDDH,[BP+4]12、.什么叫做中斷源?1片8259A最多能管理幾級(jí)中斷?3片8259A級(jí)聯(lián)起來,最多可管理幾級(jí)中斷?答:13、有符號(hào)定義語句如下:BUFFDB1,2,3,‘123’EBUFFDB0LEQUEBUFF-BUFF問L的值為多少?解答:L=614、類型號(hào)為17H中斷的中斷處理子程序的入口地址為1234:5678H,求該入口地址在中斷向量表中如何放置?答:0段中5CH、5DH、5EH和5FH四個(gè)單元中的值分別為:78H、56H、34H、12H。15、8086/8088系統(tǒng)中引入了哪些中斷?是如何引入的?答:通過NMI引腳引入非屏蔽中斷;通過INTR引腳引入可屏蔽中斷;通過指令I(lǐng)NT引入軟中斷。16、標(biāo)志寄存器FR的狀態(tài)標(biāo)志有何作用?寫出6個(gè)狀態(tài)標(biāo)志。答:FR的狀態(tài)標(biāo)志反映上次運(yùn)算結(jié)果的狀態(tài)〔1分;CF,PF,AF,ZF,SF,OF〔1分17、.8086/8088系列違紀(jì)在存儲(chǔ)器中尋找存儲(chǔ)單元時(shí),邏輯地址由哪兩個(gè)部分組成的?答:由段地址和偏移地址兩部分構(gòu)成。5.設(shè)IBMPC微機(jī)內(nèi)存中某個(gè)單元的物理地址是12345H,試完成下列不同的邏輯地址表示:〔11234H:___H〔2____H:0345H答:〔11234H:05H<2>1200H:0345H18、.假設(shè)某程序執(zhí)行過程中,〔SS=0950H,<SP>=64H,試問該用戶程序的堆棧底部物理地址是多少?答:<SS>*10H+<SP>=09564H19、設(shè)堆棧段寄存器<SS>=0E4BH,程序中設(shè)堆棧長(zhǎng)度為200H個(gè)字節(jié)。試計(jì)算出堆棧底部字單元物理地址,堆棧指針SP初始值〔即堆棧中沒有數(shù)據(jù)時(shí)和SP初始值指向的物理地址。答:物理地址為:3E4B0H,SP的初始值為200H,指向的物理地址為:3E6B1H.。3.什么叫做中斷源?5.某外部可屏蔽中斷的類型碼為12H,它的中斷服務(wù)程序的入口地址為1000H:2000H,請(qǐng)將中斷服務(wù)程序入口地址填在中斷向量表中。答:12H中斷對(duì)應(yīng)的中斷向量放在向量表的0000:0048H處,其中0048H、0049H、004AH與004BH這4個(gè)單元中的值分別為00H、20H、00H、10H2.某外部可屏蔽中斷的類型碼為12H,它的中斷服務(wù)程序的入口地址為1000H:2000H,請(qǐng)將中斷服務(wù)程序入口地址填在中斷向量表中.七、程序題1.編制程序段,要求實(shí)現(xiàn):將0404H單元開始的256單元清零。〔6分答:CLD;清方向標(biāo)志LEADI,0404H;DI指向字串地址MOVCX,256;共256個(gè)字節(jié)XORAX,AX;AX清零REPSTOSBHLT2.程序分析題?,F(xiàn)有下列程序段:〔6分MOVSP,2000HMOVAX,3000HMOVBX,5000H
:
PUSHAX
PUSHBX
POPAX
試回答:上述程序段執(zhí)行后SP=___1FFEH______〔AX=_____5000H______,〔BX=_____5000H______
程序分析題?,F(xiàn)有下列程序段:〔6分
MOVAX,6540H
MOVDX,3210H
MOVCL,04
SHLDX,CL;DX=2100H
MOVBL,AH;BL=65H
SHLAX,CL;AX=5400H
SHRBL,CL;BL=06H
ORDL,BL;DL=06H,故DX=2106H
試問上述程序段運(yùn)行后,
〔AX=__5400H___________
〔BL=____06H_________
〔DX=_____2106H________4.請(qǐng)完成如下程序段,使它完成求|AX-BX|,結(jié)果放在AX的功能。CMPAX,BX〔1分JCAA〔1分SUBAX,BXJMPAA1〔2分AA:SUBBX〔1分,AX〔1分MOVAX,BXAA1:HLT5.要求從外設(shè)71號(hào)中取一個(gè)數(shù)M,判斷其值是否在10和20之間,即10≤M<20.如果M≥20H,則送0FFH給外設(shè)73H;如果M<10,則送00H給外設(shè)73H;如果10≤M<20,則送88H給外設(shè)73H.。要求編寫完整源程序?qū)崿F(xiàn)上述功能〔9分答:程序如下:;程序段定義,不可省略C1SEGMENTSTART:INAL,71HCLCCMPAL,10JCLP1CMPAL,20JCLP2MOVBL,0FFHLP3:MOVAL,BLOUT73H,ALINT21HMOVAH,4CHLP1:MOVBL,00JMPLP3LP2:MOVBL,88HJMPLP3C1ENDSENDSTART6.編一程序段,要求實(shí)現(xiàn):求兩個(gè)多字節(jié)數(shù)之和,這兩個(gè)數(shù)在10050H地址開始的內(nèi)存單元中,連續(xù)存放,低位在小地址一端,結(jié)果放在這兩個(gè)數(shù)之后。設(shè)這兩個(gè)多字節(jié)數(shù)均為8個(gè)字節(jié)?!?分答:MOVAX,1000HMOVDS,AXMOVSI,50HMOVDI,58HMOVBX,60HMOVCX,4CLCAA:MOVAX,[SI]ADCAX,[DI]MOV[BX],AXPUSHFADDSI,2ADDDI,2ADDBX,2POPFLOOPAAHLT7.要求編寫完整源程序?qū)崿F(xiàn):求1+2+3+····+100的和,并將累加和保存在AX中?!?分答:程序如下:;堆棧段定義,本段定義可省略S1SEGMENTSTACKDB100DUP<0>S1ENDS;程序段定義,不可省略C1SEGMENTASSUME:CS:C1,SS:S1START:MOVCX,64H;即將100給CXXORAX,AXCLCA1:ADCAX,CXLOOPA1MOVAH,4CHINT21HC1ENDSENDSTART8.以NUM為首址的存儲(chǔ)區(qū)中存有若干個(gè)字型數(shù),其長(zhǎng)度存于NUM1字節(jié)單元。求出數(shù)據(jù)中的最大值,存入NUM2字單元。MOVSI,OFFSETNUMMOVCX,NUM1AA2:MOVAX,[SI]AA3:INCSICMPAX,[SI]JCAA2LOOPAA2HLT9.設(shè)AX寄存器中有一個(gè)16位二進(jìn)制數(shù),編一程序,統(tǒng)計(jì)AX中"1"的個(gè)數(shù),統(tǒng)計(jì)結(jié)果送CX中解答:START:MOVCX,0LOOP:SUBAX,0JZSTPSALAX,1JNCNODINCCXNOD:JMPLOOPSTP:HLT10.編一程序段,完成符號(hào)函數(shù)<-128≤x≤127>: 1<x.>0>y=0<x=0>-1<x<0>假設(shè)x的值存放在DATAl中,y的值存放在DATA2中。解答:START:MOVAL,DATA1ANDAL,ALJGEBIGRMOVAL,0FFHMOVDATA2.ALHLTBIGR:JEEQULMOVAL,1MOVDATA2,ALHLTEQUL:MOVDATA2,ALHLT9-1.編一程序段,實(shí)現(xiàn)下列功能MOVAX,XCMPAX,0JGEAA1MOVBL,0AHJMPAA3AA1:JZAA2MOVAL,01HJMPAA3AA2:MOVAL,0HAA3:MOVY,ALHLT11.假設(shè)在數(shù)據(jù)段X_SEG、附加段Y_SEG和堆棧段Z_SEG中分別定義了字變量X,Y和Z。試編制一完整的程序計(jì)算XX+Y+Z答:X-SEGSEGMENTXDW?X-SEGENDSZ-SEGSEGMENTZDW?Z-SEGEMDSY-SEGSEGMENTYDW?Y-SEGENDSCODESEGMENTMAINPROCFARASSUMEES:Y-SEG,CS:CODE,DS:X-SEG,SS:Z-SEGSTARTPUSHDSSUBAXAXPUSHAXMOVAX,Y_SEGMOVES,AXMOVAX,Z_SEGMOVSS,AXMOVAX,X_SEGMOVDS,AXMOVAX,DS:XMOVBX,ES:YADDAXBXJOOVERFLOWMOVBX,SS:ZADDAX,BXJOOVERFLOWMOVDS:X,AXOVERFLOW:RETMAINENDPCODEENDSENDSTART12.讀下面程序段,請(qǐng)問:在什么情況下,本段程序的執(zhí)行結(jié)果是AH=0?BEGIN:INAL,5FHTESTAL,80HJZBRCHlMOVAH,0JMPSTOPBRCHl:MOVAH,0FFHSTOP:HLT解答:AL中的最高位為1時(shí)。13.讀程序:START:INAL,20HMOVBL,ALINAL,30HMOVCL,ALMOVAX,0ADLOP:ADDAL,BLADCAH,0DECCLJNZADLOPHLT請(qǐng)問:<1>本程序?qū)崿F(xiàn)什么功能?<2>結(jié)果在哪里?解答:完成20H*30H,結(jié)果在AX中。14.請(qǐng)編一程序段完成AX*l0的任務(wù)<要求不準(zhǔn)用乘法指令做>。解答:MOVBX,AXMOVCL2SHLAX,CLADDAX,BXSHLAX,115.編程序使:<1>AX寄存器低4位清零。<2>BX寄存器低4位置"1"。<3>CX寄存器低4位變反。<4>用TEST指令測(cè)試DL寄存器位3、位6是否同時(shí)為0,若是,將0送DL;否則l送DH。解答:1,ANDAX,0FFF0H2,ORBX,000FH3,XORCX,000FH4,TESTDL,48HJZLOOPMOVDH,1HLTLOOP:MOVDL,0HLT10.設(shè)一子程序求兩個(gè)多字節(jié)數(shù)FIRST與SECOND之和,結(jié)果放在THIRD中,設(shè)這兩個(gè)多字節(jié)數(shù)均為4個(gè)字節(jié)長(zhǎng)答:ADDSUBPROCPUSHFPUSHAXPUSHBXPUSHCXPUSHSIPUSHDILEASI,FIRSTLEADI,SECONDLEABX,THIRDMOVCX,2CLCAA2:MOVAX,[SI]ADCAX,[DI]MOV[BX],AXPUSHFADDSI,2ADDDI,2ADDBX,2POPFLOOPAA2POPDIPOPSIPOPCXPOPBXPOPAXPOPFRETADDSUBENDP八、接口芯片的綜合編程題〔一8255A1.若要求從8255A的A端口輸出數(shù)據(jù)82H,請(qǐng)編寫8255A的初始化程序和數(shù)據(jù)輸出程序?,F(xiàn)已知A口地址為80H,B口地址為81H,C口地址為82H,控制字寄存器地址為83H,8255A的方式控制字各位的含義如下表:D7D6D5D4D3D2D1D0100:端
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- xx縣省級(jí)產(chǎn)業(yè)園區(qū)基礎(chǔ)設(shè)施項(xiàng)目可行性研究報(bào)告
- 寧夏xx城鎮(zhèn)老舊小區(qū)改造項(xiàng)目可行性研究報(bào)告
- 2024年綠色環(huán)保項(xiàng)目捐贈(zèng)協(xié)議3篇
- 城市更新財(cái)務(wù)可行性分析
- 2024年文化創(chuàng)意園區(qū)土地租賃續(xù)約范本3篇
- 2024年度單位二手房買賣資金監(jiān)管服務(wù)協(xié)議3篇
- 2024年綠色能源項(xiàng)目投資與建設(shè)合同
- 葉輪液體泵課程設(shè)計(jì)
- 粘性土擋土墻課程設(shè)計(jì)
- 幼兒園文化廣場(chǎng)課程設(shè)計(jì)
- 考試安全保密培訓(xùn)
- 關(guān)于培訓(xùn)的課件
- 2024上海市房屋租賃合同范本下載
- 江蘇省揚(yáng)州市2023-2024學(xué)年高一上學(xué)期期末考試物理試題(含答案)
- 2024年時(shí)事政治題庫附參考答案(綜合題)
- 數(shù)字化年終述職報(bào)告
- 消防車換季保養(yǎng)計(jì)劃
- 股東會(huì)表決票-文書模板
- 肉牛育肥基地建設(shè)項(xiàng)目可行性研究報(bào)告書
- 電力土建安全質(zhì)量培訓(xùn)
- 2024-2025學(xué)年北師大版七年級(jí)上冊(cè)數(shù)學(xué)期末專項(xiàng)復(fù)習(xí):期末壓軸題分類(原卷版)
評(píng)論
0/150
提交評(píng)論