微機原理試題集試題庫帶答案解析_第1頁
微機原理試題集試題庫帶答案解析_第2頁
微機原理試題集試題庫帶答案解析_第3頁
微機原理試題集試題庫帶答案解析_第4頁
微機原理試題集試題庫帶答案解析_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

./TOC\o"1-3"\h\z\u8310微機原理及應(yīng)用習題集庫29903一、填空211739二、單項選擇題 62241三、程序分析題〔每小題6分,共24分 1611516四、判斷題〔在對的后面畫√,錯的后面畫×:2520212五:分析判斷題〔判斷對錯,并指出錯誤原因3129886六、簡答題:3331036七、程序題 3832607八、接口芯片的綜合編程題504751〔一8255A501768〔二8259A561043〔三.其它端口編程題58.微機原理及應(yīng)用習題集庫〔請認真復習4、5、7、10、11章后的習題一、填空87的原碼是01010111B=57H,補碼是01010111B,反碼01010111B。SP總是指向棧頂,若原先SP=2000H,SS=2000H,問CPU執(zhí)行指令PUSHAX后,AL內(nèi)容壓入物理地址為21FFEH存儲單元中,AH內(nèi)容壓入物理地址為21FFFH存儲單元中。以BX基址尋址,約定的段寄存器是DS,以BP基址尋址,約定的段寄存器是SS,變址尋址約定的段寄存器是DS。假設(shè)某個字的值是1234H,其低位字節(jié)地址是20H,高位字節(jié)地址是21H,那么該字地址是20H。8086/8088的狀態(tài)標志有6〔SF、PF、AF、OF、ZF、CF個。8086/8088系統(tǒng)中,存儲器是分段的,每段最大長度是64K字節(jié),段內(nèi)偏移地址從0000H到FFFFH。CPU訪問存儲器進行讀寫操作時,通常在T3狀態(tài)去檢測READY,一旦檢測到READY無效,就在其后插入一個Tw周期。匯編語言源程序中的語句有三種類型,它們是指令語句,偽指令語句,宏指令語句。、8086CPU尋址外設(shè)可以有兩種方式,一種是直接尋址方式,另一種是間接尋址方式。CPU與外設(shè)之間的連接部件稱為I/O接口,它的基本功能是在CPU與外設(shè)之間起緩沖作用。CPU從主存取出一條指令并執(zhí)行該指令的時間稱〔,它通常用若干個〔來表示,而后者又包括若干個〔。①指令周期②機器周期③時鐘周期答:1-2-314、數(shù)據(jù)的輸入/輸出指的是CPU與I/O接口進行數(shù)據(jù)交換。15.已知X=-120,則X的原碼〔用八位二進制表示是____________,補碼〔用八位二進制表示是____________。16、8088中的指令I(lǐng)NTn用〔N指定中斷類型。17、8088的ALE引腳的作用是〔地址鎖存允許。一片8255A端口A有〔3種工作方式,端口B有〔2種工作方式。當8255A口工作在方式1輸出時,A口輸入信號聯(lián)絡(luò)線的名稱是IBF,輸出信號聯(lián)絡(luò)線的名稱是OBF<帶上劃線>。端口A可以工作在3種工作方式中的任意一種,端口B只能工作在方式0或方式1;〔對錯題可編程并行接口芯片8255A共有〔A、〔B、〔C、和〔控制四個端口。8088的當前代碼段、數(shù)據(jù)段和堆棧段段地址分別由〔、〔和〔提供。微型計算機由〔、〔和〔三大部分組成。20.8086/8088中級別最高的中斷類型是〔非屏蔽中斷,其中斷類型碼為〔2。-3的原碼是〔10000011,反碼是〔11111100,補碼是〔11111101。 以BX基址尋址,約定的段寄存器是〔DS,以BP基址尋址,約定的段寄存器是〔SS。一片8259A最多只能接收〔八級中斷。三片8259A最多能接收〔22級中斷。8259A中的中斷服務(wù)寄存器中存放的是〔正在處理的中斷請求0。十六進制數(shù)30A轉(zhuǎn)換為二進制是〔001100001010B。微型計算機由〔微處理器、〔存儲器和〔I/O接口電路組成。計算機記憶裝置的基本單元是〔觸發(fā)器。一個最基本的總線周期是由〔4個時鐘周期組成的。所謂最小模式,是指〔在系統(tǒng)中只有8086/8088一個微處理器。在8086/8088的引腳中,與總線有關(guān)的兩個引腳是〔HOLD和〔HLDA。中斷向量是〔中斷處理子程序的入口地址,每個中斷類型對應(yīng)一個中斷向量。MOVAX,[BX+DI+50]的尋址方式是〔基址加變址的相對尋址8086最多能處理<256>種中斷。-7的原碼是〔10000111,反碼是〔11111000,補碼是〔11111001。8259A中的中斷屏蔽寄存器中存放的是〔對各級中斷請求的屏蔽信息。在8088讀存儲器周期中,采樣Ready線的目的是〔測試外設(shè)數(shù)據(jù)是否準備好。.微機系統(tǒng)中,ROM只能〔讀,RAM可〔隨機存取。寄存器是由〔觸發(fā)器組成的。一個機器周期是〔執(zhí)行一條指令的時間,機器周期又可分為〔取指周期和〔執(zhí)行周期。所謂最大工作模式,是指〔在系統(tǒng)中有二個以上的微處理器。對于地址/數(shù)據(jù)復用總線,在T1時刻,其傳輸?shù)男畔⑹恰驳刂沸盘?。?086/8088的引腳中,與中斷有關(guān)的三個引腳是〔NMI、〔INTR和〔INTA。所謂斷點,就是指〔響應(yīng)中斷時,主程序中當前指令下面的下一條指令的地址。8088中的指令I(lǐng)NTn用〔n指定中斷類型。.8086最大模式下產(chǎn)生控制信號利用芯片8288總線控制器,最小/最大模式下,外部地址鎖存器利用芯片8282,外部數(shù)據(jù)收/發(fā)器利用芯片8286。子程序可以由Proc語句定義,由ENDP語句結(jié)束,屬性可以是NEAR或FAR。段定義偽指令語句用SEGMENT語句表示開始,以ENDS語句表示結(jié)束。邏輯地址為2000H:1234H的存儲單元的物理地址是。21234H 取指令時,段地址由寄存器提供,偏移地址由寄存器提供。CS和IPCPU在執(zhí)行OUTDX,AL指令時,寄存器的內(nèi)容送到地址總線上,寄存器的內(nèi)容送到數(shù)據(jù)總線上。DX和AL數(shù)據(jù)的輸入/輸出指的是CPU與進行數(shù)據(jù)交換。I/O端口中斷矢量就是中斷服務(wù)子程序的入口地址,在內(nèi)存中占有4個存儲單元,其中低地址存儲單元存放的是偏移地址,高地址存儲單元存放的是段地址。中斷返回指令是RET,該指令將堆棧中保存的斷點彈出后依次裝入CS寄存器和IP寄存器中,將堆棧中保存的標志裝入標示寄存器FR中。CPU響應(yīng)8259A中斷,在INTA引腳上輸出二個負脈沖,在第二個負脈沖期間讀入中斷類型碼。二、單項選擇題1.若補碼用8位二進制數(shù)表示,則可表示的最大正數(shù)是〔4。〔128〔228-1〔327〔427-12向外設(shè)端口輸出一個數(shù)據(jù)的指令是〔1〔1OUTDX,AL〔2INDX,AL〔3OUTAL,DX〔4INAL,DX3.完成同指令XCHGAX,BX相同功能的指令或指令序列是〔3。

①MOVAX,BX

②MOVBX,AX

③PUSHAX

POPBX

④MOVCX,AX

MOVAX,BX

MOVBX,CX

1.當有兩個8286時,可為〔2CPU提供數(shù)據(jù)總線。

①8088②8086③80386④804862.3片8259A級聯(lián),最多可管理〔3級中斷。①24②.23③.22④.213.響應(yīng)NMI請求的必要條件是〔3。

①IF=1②IF=0③一條指令結(jié)束④無INTR請求

5.測試BL寄存器內(nèi)容是否與數(shù)據(jù)4FH相等,若相等則轉(zhuǎn)NEXT處執(zhí)行,可實現(xiàn)的方法是〔2。

①TESTBL,4FH③ANDBL,4FH

JZNEXTJZNEXT

②XORBL,4FH④ORBL,4FH

JZNEXTJZNEXT6.8086/8088的一個典型總線周期需要〔1個T狀態(tài)。

①4②3③2④17.指令指針寄存器是〔1。

①IP②SP③BP④PSW8.下面指令序列測試BH中的數(shù)是否為奇數(shù),若為奇數(shù)則轉(zhuǎn)移至K1處,橫線處的指令應(yīng)為〔。

TESTBH,01H

____1_____K1

①JNE②JZ③JS④JC9.下面的數(shù)據(jù)傳送指令中,錯誤的操作是〔4。

①MOVSS:[BX+DI],1000H②MOVDX,1000H

③MOVWORDPTR[BX],1000H④MOVDS,2000H10.8255A工作在方式1時,端口A和端口B作為數(shù)據(jù)輸入/輸出使用,而端口C的各位分別作為端口A和端口B的控制信息和狀態(tài)信息。其中作為端口A和端口B的中斷請求信號的分別是端口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.對8255的端口A工作在方式1輸入時,C口的C一定為空閑的。APC4、PC5BPC5、PC6CPC6、PC7DPC2、PC34.對8255的C口D3位置1的控制字為B。A00000110BB00000111BC00000100BD00000101B5.8255工作在方式1的輸出時,OBF信號表示B。A輸入緩沖器滿信號B輸出緩沖器滿信號C輸入緩沖器空信號D輸出緩沖器空信號3.在PC/XT機中鍵盤的中斷類型碼是09H,則鍵盤中斷矢量存儲在B。A36H~39HB24H~27HC18H~21HD18H~1BH4.3片8259A級聯(lián)起來,可管理C級中斷。A24B23C22D20E16F155.若8259A工作在優(yōu)先級自動循環(huán)方式,則IRQ4的中斷請求被響應(yīng)并且服務(wù)完畢后,優(yōu)先權(quán)最高的中斷源是B。AIRQ3B>IRQ5C>IRQ0D>IRQ47.PC/XT機中若對從片8259A寫入的ICW2是70H,則該8259A芯片的IRQ5的中斷矢量存儲的地址是D〔注:先算類型號,再*4得到A75HB280HC300HD1D4H8.當向8259A寫入的操作命令字OCW2為01100100時,將結(jié)束E的中斷服務(wù)。AIRQ0BIRQ1CIRQ2DIRQ3EIRQ4FIRQ5GIRQ6HIRQ71.下面是關(guān)于可編程中斷控制器8259A的敘述,其中錯誤的是〔3。①.8259A具有優(yōu)先級管理的功能②.8259A具有辨認中斷源的功能③.8259A具有向CPU提供中斷向量的功能④.一片8259A可管理8級中斷2.由8088CPU組成的PC機的數(shù)據(jù)線是〔4。

①8條單向線②16條單向線③8條雙向線④16條雙向線

3.為8088CPU提供地址總線需要〔4。

①一個8286②兩個8286③兩個8282④三個82824.一個8259可提供〔2個類型號。

①1②8③16④645.響應(yīng)INTR請求的必要條件是〔2。

①IF=0②IF=1③TF=0④TF=16.完成將累加器AL清零,并使進位標志CF清零,下面錯誤的指令是〔1。

①MOVAL,00H②ANDAL,00H③XORAL,AL④SUBAL,AL7.當執(zhí)行指令ADDAX,BX后,若AX的內(nèi)容為2BA0H,設(shè)置的奇偶標志位PF=1,下面的敘述正確的是〔4。

①表示結(jié)果中含1的個數(shù)為偶數(shù)②表示結(jié)果中含1的個數(shù)為奇數(shù)

③表示該數(shù)為偶數(shù)④表示結(jié)果中低八位含1的個數(shù)為偶數(shù)8.在匯編語言程序中,對END語句的敘述正確的是〔3。

①END語句是一可執(zhí)行語句

②END語句表示程序執(zhí)行到此結(jié)束

③END語句表示源程序到此結(jié)束④END語句在匯編后要產(chǎn)生機器碼③AL=64H

BL=82H④AL=100H

BL=0FEH9.執(zhí)行下列指令后,正確的結(jié)果是〔2。

MOVAL,100

MOVBL,-2

①AL=100H

BL=02H

②AL=64H

BL=0FEH

10.當一個帶符號數(shù)大于0FBH時程序轉(zhuǎn)移,需選用的條件轉(zhuǎn)移指令是〔3。

①JLE②JNL③③AL=64H

BL=82H④AL=100H

BL=0FEH1.寄存器間接尋址方式中,操作數(shù)在中。CA通用寄存器B堆棧C存儲單元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ù)所在的段是當前。CA數(shù)據(jù)段B代碼段C堆棧段D附加段.若主程序段中數(shù)據(jù)段名為DATA,對數(shù)據(jù)段的初始化操作應(yīng)為。BAMOVAX,DATABMOVAX,DATAMOVES,AXMOVDS,AXCPUSHDSDMOVDS,DATA3..EXE文件產(chǎn)生在之后。DA匯編B編輯C用軟件轉(zhuǎn)換D連接4.定義雙字變量的定義符是。CADWBDQCDDDDT5.下列存儲器操作數(shù)的跨段前綴可省略的是。BADS:[BP]BSS:[BP]CES:[BX]DES:[SI]3.堆棧操作時,段地址由寄存器指出,段內(nèi)偏移量由寄存器指出。C、GACSBDSCSSDESEDIFSIGSPHBP4.若當前DS的內(nèi)容為2000H,則偏移量為1000H單元的地址可表示為。BA2000H.1000HB21000HC1000H∶2000HD3000H3.8086CPU在執(zhí)行INAL,DX指令時,DX寄存器的內(nèi)容輸出到上。AA地址總線B數(shù)據(jù)總線C>存儲器D>寄存器2.8086CPU復位后,CPU執(zhí)行的第一條指令的起始地址應(yīng)是BA>ROM,FFFF0HB>RAM,FFFF0HC>ROM,FFFFHD>RAM,FFFFH3.下述指令,正確的指令是d〔設(shè)BUF是字節(jié)變量,LAB為標號a.MOVBX,ALb.MOVBX,BUFc.MOVBX,LABd.MOVBX,OFFSETBUF4.下述中斷,優(yōu)先權(quán)級別最高的中斷是aa.NMIb.INTRc.單步中斷d.INTn6.8086CPU的40根引腳中,有c個是分時復用的。A1B16C21D247、用BP作基址變址尋址時,操作數(shù)所在的段是當前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、堆棧操作時,段基址由C寄存器指出,段內(nèi)偏移量由SP寄存器指出。A>CSB>DSC>SSD>ES11.下列四條指令中錯誤的是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清零,并使進位標志CF清零,下面錯誤的指令是〔1。

①MOVAL,00H

②ANDAL,00H

③XORAL,AL

④SUBAL,AL

17.下列指令執(zhí)行后總是使CF=0,OF=0的是〔1。

①AND

②NEG

③NOT

④INC22.下面的數(shù)據(jù)傳送指令中,錯誤的操作是〔1。

①MOVSS:[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

下面有語法錯誤的語句是〔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]

上述指令序列運行后,BX的內(nèi)容是〔4。

①0605H

②0402H

③0606H

④0204H

32.IBMPC機的8088處于最大模式,其總線仲載是由〔2裁決。

①非RQ/非GT

②8289

③8087

④8288

33.8088的一個總線周期可交換〔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.讀下面程序段,請問,在什么情況下,本段程序的執(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

試問上述程序段運行后,

〔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程序功能是對原AX、DX中的值求補碼,因為取補碼指令就相當于用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]

:

請回答程序段運行后:〔AL=_____46_______

〔BL=____84________14.對于下面的數(shù)據(jù)定義,各條MOVE指令單獨執(zhí)行后,有關(guān)寄存器的內(nèi)容是什么?FLDBDBTABLEADW20DUP〔?TABLEBDB‘ABCD’MOVEAX,TYPEFLDBMOVEAX,TYPETABLEAMOVECX,LENGTHTABLEAMOVEDX,SIZETABLEAMOVECX,LENGTHTABLEB解答:AX=0001HAX=0002HCX=0014HDX=0028HCX=0001H。19.讀下面程序段,請問:在什么情況下,本段程序的執(zhí)行結(jié)果是AH=0?BEGIN:INAL,5FHTESTAL,80HJZBRCHlMOVAH,0JMPSTOPBRCHl:MOVAH,0FFHSTOP:HLT解答:AL中的最高位為1時。20.讀程序:START:INAL,20HMOVBL,ALINAL,30HMOVCL,ALMOVAX,0ADLOP:ADDAL,BLADCAH,0DECCLJNZADLOPHLT請問:<1>本程序?qū)崿F(xiàn)什么功能?<2>結(jié)果在哪里?解答:完成20H*30H,結(jié)果在AX中。21.請編一程序段完成AX*l0的任務(wù)<要求不準用乘法指令做>。解答:MOVBX,AXMOVCL2SHLAX,CLADDAX,BXSHLAX,122.編程序使:<1>AX寄存器低4位清零。<2>BX寄存器低4位置"1"。<3>CX寄存器低4位變反。<4>用TEST指令測試DL寄存器位3、位6是否同時為0,若是,將0送DL;否則l送DH。解答:1,ANDAX,0FFF0H2,ORBX,000FH3,XORCX,000FH4,TESTDL,48HJZLOOPMOVDH,1HLTLOOP:MOVDL,0HLT23.編一程序段,完成符號函數(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寄存器中有一個16位二進制數(shù),編一程序,統(tǒng)計AX中"l"的個數(shù),統(tǒng)計結(jié)果送CX中。解答:START:MOVCX,0LOOP:SUBAX,0JZSTPSALAX,1JNCNODINCCXNOD:JMPLOOPSTP:HLT25.編一子程序利用XLAT指令把十六進制數(shù)轉(zhuǎn)換成ASCII碼。假設(shè)ASCII碼存放在以DAT1為首地址的數(shù)據(jù)區(qū)中,對應(yīng)的16進制數(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〔錯一題扣2分,錯2題扣3.5分7.請完成如下程序段,使它完成求|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é)加法程序,第一個數(shù)是8A0BH,第二個數(shù)是D705H。請?zhí)顚懗稣_結(jié)果?!?分DATASEGMENTFIRSTDB,,0HSECONDDB,DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,MOVSI,0NEXT:MOVAL,SECOND[SI]ADCFIRST[SI],ALINCSILOOPNEXTMOVAL,0ADCAL,MOVFIRST[SI],ALMOVAH,4CHINT21HCODEENDSENDSTART四、判斷題〔在對的后面畫√,錯的后面畫×:1、段內(nèi)轉(zhuǎn)移指令執(zhí)行結(jié)果要改變IP、CS的值。<×>2、PUSHCS。<√3、OUT2000H,AL〔×4、MOVAH,BX〔錯5、8088中,取指令和執(zhí)行指令可以重疊操作?!病?/p>

6、MOV[BX],[SI]〔×

7、8088CPU用邏輯地址1234H:5678H訪問時,可交換一個字?!病?、MOVBYTEPTR[BX],1000〔×9、MOV5,AL〔×10、MOVAX,[SI+DI]<×>2、8088的數(shù)據(jù)可以存放在幾個不連續(xù)的段中?!病?.ADD15H,BX〔錯5、REP是指令前綴,重復操作的條件是CX≠0?!矊?、POPCS〔錯7、MOVCS,AX〔錯8、MOV[BX],[SI]〔錯9、INAL,2000H〔錯10、8086中,取指令和執(zhí)行指令可以重疊操作?!矊?1.當8086CPU內(nèi)標志寄存器中的IF=0時,意味著禁止CPU響應(yīng)所有類型的中斷?!插e12.一個外設(shè)最多可含有控制端口、數(shù)據(jù)端口、狀態(tài)端口三種類型的端口?!矊?3.若BUF是變量名,指令LEABX,BUF和指令MOVBX,OFFSETBUF是等效的。〔對14.OUT3FCH,AL指令是正確的。<錯,16位地址端口號要先賦給DX>15.8255AA口工作在方式1輸入,B口工作在方式0輸出的方式控制字是0011×00×B。〔錯16.若SS=2000H,SP=1000H,執(zhí)行指令PUSHAX后,AX內(nèi)容壓入21000H字單元中。〔錯17.所謂尋址方式是指CPU執(zhí)行指令時尋找操作數(shù)的方式?!矊?8.8086CPU所有外部中斷,僅INTR需申請中斷的外設(shè)提供中斷類型碼?!插e19.一個外設(shè)最多含有控制端口和數(shù)據(jù)端口?!插e,還有狀態(tài)端口20.8086CPU內(nèi)部F標志寄存器的所有標志位均可用指令事先置1或清0。〔對,用SAHF設(shè)置標志指令,見書本P11921.執(zhí)行INAL,DX指令時,DX的內(nèi)容送到數(shù)據(jù)總線上?!插e22、段內(nèi)轉(zhuǎn)移指令執(zhí)行結(jié)果要改變IP、CS的值。<錯>23.8255工作在方式1的輸出時,OBF信號表示輸出緩沖器滿信號。〔對24.有數(shù)據(jù)定義NUMDB‘123456’,經(jīng)匯編后,NUM占有3字節(jié)存儲單元?!插e,應(yīng)是6個字節(jié)的存儲單元,每一個存的是對應(yīng)的字符ASCII碼值25.OUTDX,AL指令的輸出是16位操作數(shù)?!插e26.若SP=1000H,則執(zhí)行指令PUSHAX后,〔SP=0FFEH?!矊?7.8088CPU對內(nèi)存讀/寫1個字均需兩個總線周期。〔對.MOVAH,BX〔錯.ADD15H,BX〔錯.MOVCS,AX〔錯.MOVAX,[SI][DI]<錯,不能同時使用兩個變址寄存器>MOVAX,[CX]〔錯MOV[1000H],[2000H]〔錯.MOVBYTEPTR[BX],1000H〔對SAR指令左補零〔錯執(zhí)行CMP指令后,操作數(shù)的值會改變〔錯8088的Ready信號是由外部硬件產(chǎn)生的?!矊Γ癏OLD、HLDA信號是與系統(tǒng)中其它總線主設(shè)備有關(guān)的信號。……………〔對8088的信號可用作中斷矢量的讀選通信號?!矊?088的數(shù)據(jù)可以存放在幾個不連續(xù)的段中?!矊Α?088中,取指令和執(zhí)行指令可以重疊操作。…………〔對8088的可屏蔽中斷的優(yōu)先權(quán)高于非屏蔽中斷?!插e多個外設(shè)可以通過一條中斷請求線,向CPU發(fā)中斷請求?!矊?255A中端口A使用的是INTR,及等線是端口C的線?!矊?見工作方式1的圖、中斷服務(wù)程序可放在用戶可用的內(nèi)存的任何區(qū)域。…………………〔錯8086系統(tǒng)的存儲器中各段的大小固定為64KB,同時各段之間可以重疊?!矊Χ褩2僮魉L問的段是由SS和ES所指定?!插e在存儲器連接過程中,應(yīng)注意避免地址重疊。〔錯內(nèi)部中斷的優(yōu)先權(quán)總是高于外部中斷?!矊善?259A級連后可管理16級中斷。<錯>8259A所管理的中斷源中,優(yōu)先級低的中斷源不可能中斷優(yōu)先級高的中斷服務(wù)子程序?!插e若8259A中斷屏蔽字OCW1為00H,則8259A所管理的8級中斷全被屏蔽.<錯>只要8259A所管理的中斷源沒有被屏蔽,則任何中斷源的中斷請求都能得到CPU的響應(yīng)和服務(wù)。<錯>.給8255C口PC3按位置位字是06H。〔錯.當8086CPU內(nèi)標志寄存器中的IF=0時,意味著禁止CPU響應(yīng)所有類型的中斷?!插e一個外設(shè)最多可含有控制端口、數(shù)據(jù)端口、狀態(tài)端口三種類型的端口?!矊Γ?086微機系統(tǒng)中,通常外設(shè)的中斷申請接至8259A的IR上,8259A的中斷申請線接至CPU的INTR?!矊?086CPU對內(nèi)存讀/寫1個字的操作僅需一個總線周期?!插e總線控制器8288專門用于8086最大模式下產(chǎn)生控制信號?!矊Γ畠善?259A采用主從連接方式時,最多可接收15級中斷請求。〔對執(zhí)行INAL,DX指令時,DX的內(nèi)容送到數(shù)據(jù)總線上?!插e,到AL段內(nèi)轉(zhuǎn)移指令執(zhí)行結(jié)果要改變IP、CS的值。<錯>若SS=2000H,SP=1000H,執(zhí)行指令PUSHAX后,AX內(nèi)容壓入21000H字單元中?!矊υ?086/8088中,內(nèi)中斷源的級別均比外中斷源級別高。〔錯8088CPU用邏輯地址1234H:5678H訪問時,可交換一個字?!插e.在PC機上可用地址400H來訪問I/O端口?!插e.當8255的PA口方式1輸出時,若外設(shè)有負脈沖回答,則PC3定會上升為高電平?!矊Γ瓹PU響應(yīng)HOLD請求的條件之一是指令周期結(jié)束?!矊θ鬊UF是變量名,指令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ù)的方式?!矊?.8086CPU所有外部中斷,僅INTR需申請中斷的外設(shè)提供中斷類型碼?!插e7.8086CPU沒有直接對TF標志位置1或清0的指令。1、8088的Ready信號是由外部硬件產(chǎn)生的。

A.正確

B.不正確2、/及HOLD、HLDA信號是與系統(tǒng)中其它總線主設(shè)備有關(guān)的信號。

A.正確

B.不正確3、8088的信號可用作中斷矢量的讀選通信號。

A.正確

B.不正確4、8088的數(shù)據(jù)可以存放在幾個不連續(xù)的段中。

A.正確

B.不正確6、8088的可屏蔽中斷的優(yōu)先權(quán)高于非屏蔽中斷。

A.正確

B.不正確7、多個外設(shè)可以通過一條中斷請求線,向CPU發(fā)中斷請求。

A.正確

B.不正確12、串行異步接口的雙向工作方式指的是在串行接口上可同時發(fā)送和接收串行數(shù)據(jù)。

A.正確

B.不正確14、中斷服務(wù)程序可放在用戶可用的內(nèi)存的任何區(qū)域。

A.正確

B.不正確五:分析判斷題〔判斷對錯,并指出錯誤原因1.下面哪些指令是非法的?<假設(shè)OPl,OP2是已經(jīng)用DB定義的變量><1>CMPl5,BX<2>CMPOPl,25<3>CMPOPl,OP2<4>CMPAX,OPl答:〔1CMP15,BX非法,兩個操作數(shù)不能一個為字,一個為字節(jié)〔2CMPOP1,25正確〔3CMPOP1,OP2正確〔4CMPAX,OP1非法,兩操作數(shù)不能一個為字,一個為字節(jié)2.假設(shè)下列指令中的所有標識符均為類型屬性為字的變量,請指出下列指令中哪些是非法的?它們的錯誤是什么?<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非法,兩個操作數(shù)不能都是變量〔4MOVAX,WORD_OP1[DX]非法,[DX]應(yīng)改為[BX],[BP],[SI]或[DI],則為寄存器相對尋址?!?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為標號,試指出下列指令的錯誤之處:<1>ADDVAR1,VAR2<2>SUBAL,VAR1<3>JMPLAB[SI]<4>JNZVARl<5>JMPNEARLAB答:〔1ADDVAR1,VAR2ADD指令中,目的操作數(shù)必須是寄存器或存儲單元?!?SUBAL,VAR1AL為8位的,而VAR為字變量16位〔3JMPLAB[SI]格式不對,LAB處應(yīng)為一偏移量,而不是標號?!?JNZVAR1JNZ為非零轉(zhuǎn)移,應(yīng)轉(zhuǎn)移到某個程序段,故后面應(yīng)為一個標號?!?JMPNEARLAB段內(nèi)直接轉(zhuǎn)移,格式應(yīng)為JMPNEARPTRLAB六、簡答題:1、設(shè)一個8字節(jié)數(shù)據(jù)存放在內(nèi)存中,它的起始單元的物理地址為223A0H,若當前的段基址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位字進行操作及存儲器尋址,兩者的軟件完全兼容,程序的執(zhí)行也完全相同,兩種處理器都封裝在相同的40腳雙列直插組件〔DIP中。但它們的外部性能有區(qū)別。8086是16位數(shù)據(jù)總線,而8088是8位數(shù)據(jù)總線,在處理一個16位數(shù)據(jù)字時,8088需要兩步操作而8086只需要一步。3、中斷入口地址表的功能是什么?已知中斷類型碼分別為84H,它們的中斷入口在中斷入口地址表的什么位置上?答:中斷入口地址表的功能是存放中斷服務(wù)程序的入口地址。84H〔10000100B的中斷入口在中斷入口地址表的001000010000B,即0210H處,即其偏移地址放在0210H和0211H兩個單元中,而段地址放在0212H和0213H兩個單元中。4、什么叫總線周期?8086CPU的一個總線周期包括多少時鐘周期,什么情況下要插入TW等待周期?插入多少個TW取決于什么因素?答:總線周期是CPU或其他總線控制設(shè)備訪問一次存儲器或I/O端口所需的時間。在總線周期中需要利用總路線。8086CPU的一個標準總線周期包括4個時鐘周期。當4個時鐘周期不能完成所規(guī)定的操作時,可以插入一個或多個等待時鐘周期TW。插入多少個TW取決于所訪問的存儲器或者I/O設(shè)備是否準備就緒,此信號由引腳READY發(fā)出。5、假如8086系統(tǒng)中的CS=2000H,IP=2100H其物理地址應(yīng)是多少?答:物理地址為20000H+2100H=22100H。6、若將某8259A芯片的ICW2定義為39H,則該8259A的8級中斷類型碼是多少?答:39H即為:00111001,故其類型碼最低的為00111000,即38H;最高為00111111,即3FH。故其中斷類型碼為:38H3FH7、8086CPU從功能上分為幾部分?各部分的功能是什么?答:8086CPU從功能上分外兩大部分,一是執(zhí)行部件〔EU,二是總線接口部件〔BIU。執(zhí)行部件是由以下四部分組成:〔14個通用寄存器AX,BX,CX,DX?!?4個專用寄存器BP,SP,XI,DI?!?標志寄存器FR?!?算術(shù)邏輯部件ALU。功能是負責執(zhí)行所以的指令,向總線接口部件〔BIU提供指令執(zhí)行的結(jié)果數(shù)據(jù)和地址,并對通用寄存器和標志寄存器進行管理。總線接口部件〔BIU由以下部件組成:〔1四個段寄存器,代碼段寄存器,數(shù)據(jù)段寄存器,附加段寄存器,堆棧段寄存器?!?指令指針寄存器?!?地址加法器?!?指令領(lǐng)隊列。功能:執(zhí)行外部總線周期,負責存儲器與I/O端口傳送數(shù)據(jù)。也就是負責CPU與存儲器和外設(shè)之間的信息交換。8、什么是最大模式〔或最大組態(tài)?什么是最小模式〔或最小組態(tài)?用什么方法將8086/8088置于最大模式和最小模式?答:最小模式,即系統(tǒng)中只有一個微處理器,所有的總線控制信號都直接由8086/8088,因此,系統(tǒng)總線控制電路被減到最小。最大模式,即系統(tǒng)里包括兩個或多個微處理器,主處理器就是8086/8088,其它均為協(xié)助主處理器工作的協(xié)處理器。它主要用于中等規(guī)?;虼笮偷?086/8088系統(tǒng)中。將8086/8088的第33腳接地時,系統(tǒng)處于最大模式,接+5V時,為最小模式9、什么是地址鎖存器?8086/8088系統(tǒng)中為什么要用地址鎖存器?鎖存的是什么信息?答:地址鎖存器就是一個暫存器,它根據(jù)控制信號的狀態(tài),將總線上地址代碼暫存起來。8086/8088數(shù)據(jù)和地址總線采用分時復用操作方法,即用同一總線既傳輸數(shù)據(jù)又傳輸?shù)刂?。當微處理器與存儲器交換信號時,首先由CPU發(fā)出存儲器地址,同時發(fā)出允許鎖存信號ALE給鎖存器,當鎖存器接到該信號后將地址/數(shù)據(jù)總線上的地址鎖存在總線上,隨后才能傳輸數(shù)據(jù)。10、8086/8088系統(tǒng)中的8286是什么器件?起什么作用?答:8286為總線驅(qū)動器〔收發(fā)器,雙向數(shù)據(jù)緩沖器,當一個系統(tǒng)中所含外設(shè)接口較多時,用來增強數(shù)據(jù)總線的驅(qū)動能力。11、.指出下列各指令中源操作數(shù)的尋址方式1MOVDI,1002MOV[SI],AX3ADDAX,[BX+SI]4MOVDX,[1000H]5ANDDH,[BP+4]12、.什么叫做中斷源?1片8259A最多能管理幾級中斷?3片8259A級聯(lián)起來,最多可管理幾級中斷?答:13、有符號定義語句如下:BUFFDB1,2,3,‘123’EBUFFDB0LEQUEBUFF-BUFF問L的值為多少?解答:L=614、類型號為17H中斷的中斷處理子程序的入口地址為1234:5678H,求該入口地址在中斷向量表中如何放置?答:0段中5CH、5DH、5EH和5FH四個單元中的值分別為:78H、56H、34H、12H。15、8086/8088系統(tǒng)中引入了哪些中斷?是如何引入的?答:通過NMI引腳引入非屏蔽中斷;通過INTR引腳引入可屏蔽中斷;通過指令I(lǐng)NT引入軟中斷。16、標志寄存器FR的狀態(tài)標志有何作用?寫出6個狀態(tài)標志。答:FR的狀態(tài)標志反映上次運算結(jié)果的狀態(tài)〔1分;CF,PF,AF,ZF,SF,OF〔1分17、.8086/8088系列違紀在存儲器中尋找存儲單元時,邏輯地址由哪兩個部分組成的?答:由段地址和偏移地址兩部分構(gòu)成。5.設(shè)IBMPC微機內(nèi)存中某個單元的物理地址是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è)堆棧長度為200H個字節(jié)。試計算出堆棧底部字單元物理地址,堆棧指針SP初始值〔即堆棧中沒有數(shù)據(jù)時和SP初始值指向的物理地址。答:物理地址為:3E4B0H,SP的初始值為200H,指向的物理地址為:3E6B1H.。3.什么叫做中斷源?5.某外部可屏蔽中斷的類型碼為12H,它的中斷服務(wù)程序的入口地址為1000H:2000H,請將中斷服務(wù)程序入口地址填在中斷向量表中。答:12H中斷對應(yīng)的中斷向量放在向量表的0000:0048H處,其中0048H、0049H、004AH與004BH這4個單元中的值分別為00H、20H、00H、10H2.某外部可屏蔽中斷的類型碼為12H,它的中斷服務(wù)程序的入口地址為1000H:2000H,請將中斷服務(wù)程序入口地址填在中斷向量表中.七、程序題1.編制程序段,要求實現(xiàn):將0404H單元開始的256單元清零?!?分答:CLD;清方向標志LEADI,0404H;DI指向字串地址MOVCX,256;共256個字節(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

試問上述程序段運行后,

〔AX=__5400H___________

〔BL=____06H_________

〔DX=_____2106H________4.請完成如下程序段,使它完成求|AX-BX|,結(jié)果放在AX的功能。CMPAX,BX〔1分JCAA〔1分SUBAX,BXJMPAA1〔2分AA:SUBBX〔1分,AX〔1分MOVAX,BXAA1:HLT5.要求從外設(shè)71號中取一個數(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.編一程序段,要求實現(xiàn):求兩個多字節(jié)數(shù)之和,這兩個數(shù)在10050H地址開始的內(nèi)存單元中,連續(xù)存放,低位在小地址一端,結(jié)果放在這兩個數(shù)之后。設(shè)這兩個多字節(jié)數(shù)均為8個字節(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為首址的存儲區(qū)中存有若干個字型數(shù),其長度存于NUM1字節(jié)單元。求出數(shù)據(jù)中的最大值,存入NUM2字單元。MOVSI,OFFSETNUMMOVCX,NUM1AA2:MOVAX,[SI]AA3:INCSICMPAX,[SI]JCAA2LOOPAA2HLT9.設(shè)AX寄存器中有一個16位二進制數(shù),編一程序,統(tǒng)計AX中"1"的個數(shù),統(tǒng)計結(jié)果送CX中解答:START:MOVCX,0LOOP:SUBAX,0JZSTPSALAX,1JNCNODINCCXNOD:JMPLOOPSTP:HLT10.編一程序段,完成符號函數(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.編一程序段,實現(xiàn)下列功能MOVAX,XCMPAX,0JGEAA1MOVBL,0AHJMPAA3AA1:JZAA2MOVAL,01HJMPAA3AA2:MOVAL,0HAA3:MOVY,ALHLT11.假設(shè)在數(shù)據(jù)段X_SEG、附加段Y_SEG和堆棧段Z_SEG中分別定義了字變量X,Y和Z。試編制一完整的程序計算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.讀下面程序段,請問:在什么情況下,本段程序的執(zhí)行結(jié)果是AH=0?BEGIN:INAL,5FHTESTAL,80HJZBRCHlMOVAH,0JMPSTOPBRCHl:MOVAH,0FFHSTOP:HLT解答:AL中的最高位為1時。13.讀程序:START:INAL,20HMOVBL,ALINAL,30HMOVCL,ALMOVAX,0ADLOP:ADDAL,BLADCAH,0DECCLJNZADLOPHLT請問:<1>本程序?qū)崿F(xiàn)什么功能?<2>結(jié)果在哪里?解答:完成20H*30H,結(jié)果在AX中。14.請編一程序段完成AX*l0的任務(wù)<要求不準用乘法指令做>。解答:MOVBX,AXMOVCL2SHLAX,CLADDAX,BXSHLAX,115.編程序使:<1>AX寄存器低4位清零。<2>BX寄存器低4位置"1"。<3>CX寄存器低4位變反。<4>用TEST指令測試DL寄存器位3、位6是否同時為0,若是,將0送DL;否則l送DH。解答:1,ANDAX,0FFF0H2,ORBX,000FH3,XORCX,000FH4,TESTDL,48HJZLOOPMOVDH,1HLTLOOP:MOVDL,0HLT10.設(shè)一子程序求兩個多字節(jié)數(shù)FIRST與SECOND之和,結(jié)果放在THIRD中,設(shè)這兩個多字節(jié)數(shù)均為4個字節(jié)長答:ADDSUBPROCPUSHFPUSHAXPUSHBXPUSHCXPUSHSIPUSHDILEASI,FIRSTLEADI,SECONDLEABX,THIRDMOVCX,2CLCAA2:MOVAX,[SI]ADCAX,[DI]MOV[BX],AXPUSHFADDSI,2ADDDI,2ADDBX,2POPFLOOPAA2POPDIPOPSIPOPCXPOPBXPOPAXPOPFRETADDSUBENDP八、接口芯片的綜合編程題〔一8255A1.若要求從8255A的A端口輸出數(shù)據(jù)82H,請編寫8255A的初始化程序和數(shù)據(jù)輸出程序?,F(xiàn)已知A口地址為80H,B口地址為81H,C口地址為82H,控制字寄存器地址為83H,8255A的方式控制字各位的含義如下表:D7D6D5D4D3D2D1D0100:端

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論