匯編語言程序設計試題庫給學生復習_第1頁
匯編語言程序設計試題庫給學生復習_第2頁
匯編語言程序設計試題庫給學生復習_第3頁
匯編語言程序設計試題庫給學生復習_第4頁
匯編語言程序設計試題庫給學生復習_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

選擇題

1、設DS=8225H,DI=3942H,指令MOVBX,[DI]源操作數的物理地址是()

A、85B92HB、86192HC、BB690HD、12169H

2、計算機能直接識別并執(zhí)行的語言是()。

A、匯編語言B、機器語言C、高級語言D、低級語言

3、循環(huán)指令LOOPNZ終止循環(huán)的條件是()。

A、CX=O,且ZF=OB、CX=O,或ZF=1

C、CXW0,且ZF=OD、CXWO,或ZF=1

4、循環(huán)控制指令LOOPNZ/LOOPNE繼續(xù)執(zhí)行循環(huán)的條件是()。

A、CX/)且ZF=1B、CX并且ZF=0

C、CX#)或ZF=1D、CX#)或ZF=0

5、已知ARRYDB500DUP(0),則ARRY+100存儲單元內容為()。

A、100B、500C、0D、101

6、PHISISABOOK作為字符串存儲在數據段時應使用數據定義指令是()。

A、DBB、DWB、DDD、以上三種情況均可

7、對一個段的起始地址描述,下面不正確的是()。

A、可在內存任何地方B、段的起始地址能被16整除

C、段的起始地址用16進制數表示,但最后一位為0

D、段的起始地址可用任意一個四位16進制數乘以16來表示

8、要在程序中定義緩沖區(qū)BUF,保留9個字節(jié)存儲空間的語句是()□

A、BUFDW9B、BUFDB9

C、BUFDB9DUP(?)D、BUFDW9DUP(?)

9、AX,BX,CX都是通用寄存器,但它們又可用于專門的目的,它們的名字稱為

()O

A、累加器、變址寄存器、計數器B、累加器、基址寄存器、計數器

C、累加器、指針寄存器、計數器D、累加器、變址寄存器、指針寄存器

10、變址寄存器指的是()。

A、SI、DIB、SI、SPC、SP、BPD、DI、DX

11、在執(zhí)行子程序段間調用CALLSUBR指令后,SP的值()。

A、加2B、減2C、加4D、減4

12、在執(zhí)行子程序段內調用CALLSUBR指令后,SP的值()。

A、力口1B、減1C、力口2D、減2

11、當SS=9876H,SP=4328H,執(zhí)行POPF指令后,堆棧頂部的物理地址是()。

A、9CA8AHB、9CA90HC、9CA86HD、ODBOOH

14、下列傳送指令中有語法錯誤的是()。

A、MOVCS,AXB、MOVDS,AX

C、MOVSS,AXD、MOVES,AX

15、下面指令執(zhí)行后,改變AL寄存器內容的指令是()。

A、TESTAL,02HB、ORAL,ALC、CMPAL,BLD、ANDAL,BL

16、DECBYTEPTR[BX]指令中的操作數的數據類型是()。

A、字B、雙字C、字節(jié)D、四字

17、與MOVBX,OFFSETVAR指令完全等效的指令是()。

A、MOVBX,VARB、LDSBX,VAR

C、LESBX,VARD、LEABX,VAR

18、MOVSP,3210H

PUSHAX

執(zhí)行上述指令序列后,SP寄存器的值是()。

A、3211HB、320EHC、320FHD、3212H

19、MOVBH,1000[SI],該指令中源操作數采用的尋址方式是()。

A、立即B、直接C、寄存器相對尋址D、寄存器間接尋址

20、BUFDW10HDUP(3DUP(2,10H),3,5)

上述語句匯編后,為變量BUF分配的存儲單元字節(jié)數是()。(DW后面的10H化

為10進制為16,然后2*16*(3*(1+1)+1+1)=256個字節(jié),轉化為16進制數

后就是100H

A、80HB、100HC、124D、192

21、DOS系統(tǒng)功能調用中,顯示單個字符的系統(tǒng)調用號是()H。

A、01HB、02HC、08HD、09H

22、下列寄存器組中在段內尋址時可以提供偏移地址的寄存器組是()o

A、AX,BX,CX,DXB、BX,BP,SLDI

C、SP,IP,BP,DXD、CS,DS,ES,SS

23、下面描述中,()是正確的。

A、高級語言與匯編語言的算法都是針對計算機硬件結構的。

B、匯編語言需要算法,高級語言不需要算法。

C、高級語言的算法是針對計算機硬件結構的。

D、匯編語言的算法是針對計算機硬件結構的。

24、在書寫匯編語言程序時,在代碼段中初始位置要對數據段進行加載,加載的

指令語句,下面()描述正確。

A、movax,dataB、movds,data

C、movax,datamovds,axD、movax,dsmovcs,ds

25、無條件段間間接轉移指令JMPDWORDPTR[BX][DI]執(zhí)行的操作是

()o

A、IPS(EA)CS6(EA+2)B、IPG(BX)CSV(DI)

C、IP<=(BX)DS<r(DI)D、IPG(BX)+(DI)

26、條件轉移指令JAPROG是一條兩字節(jié)指令,如果該條指令的第一字節(jié)存放

在0025H單元,相對偏移地址為0F4H,如果測試條件滿足時,應轉移到()

處取下一條指令。

A、001BHB、0119HC、0019HD、011BH

27、條件轉移指令JC和段內直接短轉移指令JMPSHORTLP,它們的轉移范圍是

()O

A、-128-+127B、0-65535C、-127-+128D、0-255

28、在匯編語言程序的開發(fā)過程中使用宏功能的順序是()。

A、宏定義,宏調用B、宏定義,宏展開

C、宏定義,宏調用,宏展開D、宏定義,宏展開,宏調用

29、匯編語言源程序中,每個語句由四項組成,如語句要完成一定功能,那么該

語句中不可省略的項是()。

A、名字項B、操作項C、操作數項D、注釋項

30、在下述指令中,錯誤的指令是()。

A、MOV[BX],[DI]B、MOVBX,AX

C、ANDBX,8000HD、INCBX

31、用MASM對匯編語言源程序進行匯編時,形成的目標序文件的擴展名應為

()O

A、.EXEB、,ASMC、.OBJD、.LST

32、用EDIT編輯程序建立匯編語言程序時,其源程序文件的擴展名應為

()O

A、.OBJB、.EXEC、.ASMD、.LST

33、既可以執(zhí)行程序(文件名.EXE)進行運行,也可以對其進行調試的程序是

()O

A、MASMB、DEBUGC、EDITD、LINK

34、為了使執(zhí)行串操作指令時,地址按減量方式處理應使用指令()。

A、CLIB、STIC、CLDD、STD

35、為在一連續(xù)的存儲單元中依次存放數據41H,42H,…48H,下面的數據定義

語句中有語法錯誤的是()。

A、DB41H,42H,43H,44H,45H,46H,47H,48H

B、DW4142H,4344H,4546H,4748H

C、DB'ABCDEFGH'

D、DW'BA','DC','FE','HG'

36、把若干個模塊連接起來成為可執(zhí)行文件的系統(tǒng)程序是()

A、匯編程序B、連接程序C、機器語言程序D、源代碼程序

37、在下列語句中,AGAIN稱為()0

AGAIN:INCSI

A、符號B、助記符C、標號D、變量

38、已知AX,BX中均為帶符號數,當進行字相除時,下面指令或指令序列正

確的是()。

A、DIVBXB、CWDIDIVBX

C、XORDX,DXDIVBXD、CBWIDIVBX

39、下面是關于子程序定義,正確的是()O

A、子程序和一般程序一樣,無特殊之處B、子程序就是一個程序段

C、子程序是按規(guī)定格式設計,可以多次反復調用,完成指定功能的特殊程序段

D、具有一定功能的獨立程序段

40、子程序是用過程定義語句()定義的。

A、PROCENDPB、PROCENDS

C、CALLRETD、PROCRET

41、主程序和所調用的子程序在同一代碼段中,子程序的屬性定義為()。

A、TYPEB、WORDC、NEARD、FAR

42、執(zhí)行下面指令序列后,結果是()。

MOVAL,82HCBW(字節(jié)轉換為字指令,該指令的隱含操作數為AH

和AL。其功能是用AL的符號位去填充AH,即:當AL為正數,則AH=0,

否則AH=OFFH。

A、AX=0FF82HB、AX=8082HC、AX=0082HD、AX=0F82H

43、若AX=3500H,CX=56B8H,當ANDAX,CX指令執(zhí)行后,AX=()。

A、1400HB、77F8HC、0000HD、OFFFFH

44、設DH=10H,執(zhí)行NEGDH指令后,正確的結果是()。

A、DH=10HCF=1B、DH=0F0HCF=0

C、DH=10HCF=0D、DH=0F0HCF=1(NEG是匯編指令中的求補指令,NEG

指令對操作數執(zhí)行求補運算:用零減去操作數,然后結果返回操作數。求補運算也可以表達

成:將操作數按位取反后加1;

因此10000按位取反后為,加1為,寫成十六進制為FOH,因此答案在B和D之間選擇。)

45、DA2DB'AB"'CD5

MOVAX,WORDPTRDA2+1

上述語句執(zhí)行后,AX中的值是()。

A、‘AD'B、'BC'C、'DA,D、'CB'

46、執(zhí)行PUSHBP指令時,目的操作數的物理地址表達式是()o

A、16*SS+BPB、16*DS+BPC、16*CS+BPD、16*SS+SP

47、無論是BH中原有數是奇數或偶數,若要使BH中的數一定為奇數,應執(zhí)行

的指令是()。

A、ADDBH,01HB、ORBH,01H

C、XORBH,01HD、TESTBH,01H

48、檢查二個無符號數的關系,若要實現AL>=BL時分支去LOP1處,那么在

“CMPAL,BL”指令后應跟的分支指令是()。

A、JNCLOP1B、JALOP1C、JCLOP1D、JGELOP1

49、設CL=8,AL=0C8H,執(zhí)行SARAL,CL后,AL中的數據是()。

SAR算術右移指令,最高位不變,最低位移入CF

A、OFFHB、80HC、OOHD、0FEH

50、完成將AX清零,并且使CF清零,下面錯誤的指令是()。

A、SUBAX,AXB、ANDAX,0

C、XORAX,AXD、MOVAX,0

51、8086/8088系統(tǒng)執(zhí)行傳送指令MOV時()。

A^不影響標志位B、影響DF方向標志

C、影響SF符號標志D、影響CF進位標志

52、下面關于保護現場和恢復現場的描述,不正確的是(c)

A、保護現場和恢復現場工作可在主程序中完成

B、保護現場和恢復現場可在子程序中完成

C、保護現場和恢復現場工作只能在子程序中完成

D、保護現場和恢復現場既可在主程序中完成,也可在子程序中完成。

53、下面()描述屬于子程序嵌套調用。

A、某程序調用子程序

B、某程序調用子程序1,子程序又調用了子程序2。

C、某程序調用一個或多個子程序

D、某程序調用了兩個子程序

54、執(zhí)行CALL子程序調用指令時,CPU會自動地將斷點壓入堆棧保護。斷點

指的是()。

A、CALL指令所在的地址B、CALL指令的下一條指令的首地址

C、子程序入口地址D、CALL指令所在的段地址

55、執(zhí)行RET指令后,CPU自動將斷點彈到相應的寄存器中。如果是段間返回,

返回的操作是()

A、先彈出送IP,后彈出送CSB、先彈出送CS,后彈出送IP

C、彈出送IPD、彈出送CS

56、能夠與SS寄存器組合形成堆棧區(qū)物理地址的寄存器是()。

A、BXB、BPC、IPD、SI

57、不能作為地址指針寄存器的是()。

A、CXB、BXC、SID、DI

58、將一1存入AX中,其內容為()。

A、FFFFHB、-0001HC、FFHD、8001H

59、下列指令中有語法錯誤的是()。

A、PUSHAXB、PUSH[20H+SI+BX]

C、POPCSD、PUSHES

60、十進制數一40用十六位二進制補碼表示為()。

A、FF40HB、8040HC、4000HD、FFD8H

61、在程序中采用DOS系統(tǒng)功能調用退出用戶程序時,在使用INT21H指令前,

應選用()指令。

A、MOVAX,4CHB、MOVAL,4CH

C、MOVAH,4CHD、RET

62、8086CPU不能用指令直接訪問的寄存器是()o

A、SSB、BPC、ESD、IP

63、能夠與SS寄存器組合形成堆棧區(qū)物理地址的寄存器是()o

A、BXB、BPC、IPD、SI

64、使用DOS系統(tǒng)功能調用時,使用的軟中斷指令是()。

A、INT21HB、INT10HC、INT16HD、INT21

65、設AL=0AH,下列指令執(zhí)行后能使AL=05H的是()。

A、NOTALB、ANDAL,OFH

C、XORAL,OFHD、ORAL,OFH

66、下列指令中操作數在代碼段中的是()。

A、MOVAL,42HB、ADDAL,BL

C、SUB[BX],DID、INC[DI]

67、表示過程定義結束的偽指令是()。

A、ENDSB、ENDC、ENDMD、ENDP

69、以寄存器DI間接尋址的存儲器字節(jié)單元內容加1的指令是()。

A、INC[DI]B、INCDI

C、ADD[DI],1D、INCBYTEPTR[Di]

70、指令SCASB操作數的段地址一定在()寄存器中。

A、DSB、ESC、SSD、CS

71、轉移指令JMPNEARPTRPROCA的轉移范圍是()。

A、8000H-7FFFHB、7FFFH-0FFFH

C、80H-7FHD、0FH-7FH

72、串操作指令中,每次操作后使SI/DI為減量應設置()。

A、DF=0B、TF=1C、DF=1D、TF=0

73、指令MULCX是將()o

A、(CX,AX)—(AX)X(CX)B、(AX,CX)—(AX)X(CX)

C、(DX,AX)—(AX)X(CX)D、(AX,BX)*-(AX)X(CX)

74、下列指令中,()指令影響8086標志寄存器的標志位。

A、MOVB、NOTC、XCHGD、TEST

75、指令TESTAL,02H的含義是()。

A、測試AL是否等于02HB、測試AL第2位狀態(tài)

C、測試AL第1位狀態(tài)D、將AL與02單元的各位進行測試

76、某存儲單元的物理地址是12345H,可以作為它的段地址有()。

A、2345HB、12345HC、12340HD、1234H

77、AND,OR,XOR,NOT為四條邏輯運算指令,下面的解釋正確的是()。

A、指令XORAX,AX執(zhí)行后,AX內容不變,但設置了標志位

B、指令ANDAX,0FH執(zhí)行后,分離出AL低四位

C、指令ORDX,1000H執(zhí)行后,將DX最高位置1,其余各位置0

D、NOTAX,執(zhí)行后,將AX清0

78、下面有語法錯誤的指令是()。

A、LDSBL,VAR[SI]B、LEABX,VAR[SI]

C、LESDLVAR[BX]D、LEADLVAR[BP]

79、無條件轉移指令JMP實現段間間接轉移,轉移的目標地址在()。

A、某個16位通用寄存器中B、兩個16位通用寄存器中

C、某個字單元中D、某個雙字存儲單元中

80、8088/8086存儲器分段,每個段不超過()。

A、64K個字B、32K個字節(jié)C、1兆個字節(jié)D、64K個字節(jié)

81、若AX=-15要得到AX=15應執(zhí)行的指令是()□

A、NEGAXB、NOTAXC、INCAXD、DECAX

82、已知某操作數的物理地址是2117AH,則它的段地址和偏移地址可能是

()o

A、2025:0F2AB、2108:OOEA

C、2000:017AD、2100:117A

83、用REPESCASB指令對字符串進行掃描,如CX>0時,掃描結束,那么表示

()o

A、在字符串中有一個AL中指定的字符

B、在字符串中遇上第一個AL中指定的字符

C、在字符串中遇上第一個不是AL中指令的字符

D、在字符串中有一個不是AL中指定的字符

84、將AX中有符號數除以2的正確指令是()。

A、SHRAX,1B、SARAX,1

C、RORAX,1D、RCRAX,1

85、執(zhí)行1號DOS系統(tǒng)功能調用,從鍵盤輸入的字符值存放在()寄存器中。

A、ALB、BLC、CLD、DL

86、將CX寄存器低4位清零的正確指令是()。

A、ANDCX,OFOHB、ANDCX,OFFFOH

C、ANDCX,1110HD、MOVCX,0

87、設物理地址(21000H)=20H,(21001H)=30H,(21002H)=40Ho如從地址21001H

中取出一個字的內容是()。

A、2030HB、3040HC、3020HD、4030H

88、下列寄存器中用來指示堆棧中任意數據區(qū)的偏移地址的是()。

A、BXB、BPC、SID、DI

89、設AL=57H,BL=24H,執(zhí)行指令SUBAL,BL后,寄存器內容為()。

A、AL=57H,BL=24HB、AL=33H,BL=24H

C、AL=57H,BL=33HD、AL=33H,BL=O

90、下列指令執(zhí)行后影響CF值的是()。

A、DECB、XCHGC、LEAD、SHL

91、CPU要訪問的某一存儲單元的實際地址稱()。

A、段地址B、偏移地址C、物理地址D、邏輯地址

92、匯編語言指令中唯一不可缺少的部分是:()。

A、標號名字B、助記符C、操作數D、注釋

93、中斷服務程序入口地址占用()個字節(jié)。

A、4B、6C、2D、1

94、有語句:COUNTEQU256,下列四種敘述中,正確的是()。

A、COUNT是變量B、COUNT占用一個字節(jié)存儲單元

C、COUNT是符號常數D、COUNT占用二個字節(jié)存儲單元

95、()環(huán)境下,可以對源程序進行匯編、修改和執(zhí)行。

A、LINKB、MASMC、DOSD、DEBUG

96、下列四條指令中錯誤的是()。

A、MOVAX,[SI]B、MOVAX,[DI]

C、MOVAX,[SI+DI]D、MOVAX,[SI-10]

97、執(zhí)行下列()指令后,就能用條件轉移指令判斷AL和BL寄存器中的最

高位是否相同?

A、TESTAL,BLB、CMPAL,BL

C、ANDAL,BLD、XORAL,BL

98、下列四條指令執(zhí)行后不影響標志位的是()。

A、JNCNEXTB、CMPAX,BX

C、SHLAX,1D、ORAL,AL

99、定義宏指令的偽指令是()。

A、PROC和ENDPB、CODE和ENDS

C、EQU和ENDD、MACRO和ENDM

100、在下列寄存器中,代碼段寄存器是()o

A、DSB、ESC、CSD、SS

101、有數據定義語句BUFDWOABH,1,10DUP(3DUP(1,0),2)匯編后,為

變量BUF分配的存儲單元字節(jié)數是()。

A、48HB、90HC、120D、60

102、若有BUFDW1,2,3,4o則可將數據02H取到AL寄存器中的指令是:

)o

A、MOVAL,BYTEPTRBUF+1

B、MOVAL,BYTEPTRBUF+2

C、MOVAL,BYTEPTRBUF+3

D、MOVAL,BYTEBUF2

103、指令指針寄存器是()。

A、IPB、SPC、BPD、PSW

104、下列指令執(zhí)行后總是使CF=0,OF=0的是()o

A、ANDB、NEGC、NOTD、INC

105、確定下列哪些數據在匯編語言中是非法的()。

A、F3HB、BC、123D、137Q

106、現用數據定義偽指令定義數據:BUFDB4DUP(0,2DUP(1,0))

問定義后,存儲單元中有數據0100H的字單元個數是()。

A、4B、3C、8D、12

107、計算機系統(tǒng)由()組成。

A、硬件系統(tǒng)和軟件系統(tǒng)B、系統(tǒng)硬件和系統(tǒng)軟件

C、CPU和系統(tǒng)軟件D、操作系統(tǒng)和主機

108、8086/8088微處理器中,既可作為16位寄存器也可分為兩個8位寄存器用

的寄存器是()O

A、BPSPSIDIB、AXBXCXDX

C、CSDSSSESD、AXBXSIDI

109、用DEBUG調試匯編語言程序時,顯示某指令的地址是2F80:F400,此時段

寄存器CS的值是()。

A、F400HB、2F80HC、F4000HD、2F800H

110、已知AX=0001H,下列四條指令執(zhí)行后,不能使ZF=1的語句是()□

A、DECAXB、SUBAX,1C、ANDAX,1D、CMPAX,1

Ilk設DS=8225H,DI=3942H,指令MOVBX,[DI]源操作數的物理地址是()。

A、85B92HB、86192HC、BB690HD、12169H

112、如果內存中某一單元的邏輯地址為2318H:0035H,它的段地址、偏移地

址及物理地址是()。

A、2318H、0035H、231B5HB、2318H、0035H、234DH

C、23180H、0035H、23215HD、2318H、00350H、2668H

113、存儲單元有惟一的物理地址,但可用不同段地址和偏移地址表示。若存儲

單元的物理地址是88D52H,則下面()的表示是正確的。

A、8561H:3742HB、8561H:3752H

C、85610H:3742HD、3752H:85610H

114、控制寄存器是指()

A、BPSPB、SPIPC、SIDID、IPFLAGS

115、FLAGS寄存器中,屬于控制標志位的是()

A、CFAFPFB、DFIFTFC、OFSFZFOFCF

116、用DEBUG調試匯編語言程序時,顯示某指令的地址是2F80:F400,此時段

寄存器CS的值是()。

A、F400HB、2F80HC、F4000HD、2F800H

117、設DS=U00H,(12000H)=80H,(12001H)=20H,(12002H)=30H,執(zhí)行MOV

AX,[1000H]則AX=()o

A、8000HB、0080HC^2080HD、8020H

118、CPU與存儲器之間的信息交換使用的是()

A邏輯地址B有效地址C物理地址D相對地址

119、若各段地址分配如下:數據段為1K,代碼段為4K,堆棧為8K,附加段為

16Ko若從10000H開始分段,各段依次相連,段地址寄存器的值是()

A、DS=1000HCS=1040HSS=1140HES=1340H

B、DS=1000HCS=1010HSS=1150HES=13D0H

C、DS=1000HCS=1040HSS=1050HES=13D0H

D、DS=1000HCS=1040HSS=1200HES=1400H

120、有指令MOVAXJ234H,指令中的立即數1234H是存儲在()。

A、數據段B、代碼段C、附加段D、堆棧段

二、填空題

循環(huán)程序可由循環(huán)初始化、循環(huán)體、循環(huán)控制三部分組成。

循環(huán)初始化、循環(huán)體、循環(huán)控制

在存取一個存儲器操作數時,段地址必須由相應的段寄存器提供。

相應的段寄存器

ARRAYDB0,2DUP(l,2),0,3匯編時生成的數據依次是。

0,1,2,1,2,0,3

設BX=U52H,偏移量D=3568H,那么指令“ADDD[BX],AL”中目的操作數的有

效地址EA=o

46BAH

在串操作程序中,通常在重復前綴指令REPZ或REPNZ后,選用的串操作指令

是CMPS或SCAS才有實際意義。

CMPS、SCAS

有指令MOVCL,N完成將一個有符號數送入CL,要使該指令合法,則N的

最大值是127,最小值是二128。(用十進制表示)

127,-128

中斷INTI2H在中斷向量表中的物理地址是48H、49H、4AH和4BH。

48H、49H、4AH、4BH

『”和“EQU”兩條偽指令有相同的功能,它們之間的區(qū)別是EOU偽指令不允許對

符號名重復定義。

EQU

在匯編語言源程序文件中,每一個段都有段定義偽指令SEGMENT和ENDS來

分段。

SEGMENT

存儲器的存儲單元的物理地址由兩部分組成,它們是和O

段地址、偏移地址/有效地址/EA(3種寫法均可以)

偏移地址可由各種成份組成,也稱為有效地址,用電表示。

有效地址、EA

取指令時,默認的段寄存器是CS,堆棧操作時,默認的段寄存器是

SS,通用數據讀寫,默認的段寄存器是DS_,目的串操作時,默認的段寄

存器是且,以BP作為基地址進行存取方式時,默認的段寄存器是

SS-

CS、SS、DS、ES、SS

DOS系統(tǒng)功能調用中1號調用的功能是;2號調用的功能

是;9號調用的功能是;10號調用的功能是o

輸入一個字符、顯示一個字符、顯示一個字符串、輸入一個字符串

CF是程序狀態(tài)字寄存器中的標志位,ZF是標志位,SF是標

志位。

進位、零、符號

要將二進制數B輸出到端口25H,可用MOVAL,B和OUT25H,

AL兩條語句來實現。

MOVAL,B、OUT25H,AL

匯編語言源程序在計算機上不能直接運行,必須經過_____和后才能形

成一個可執(zhí)行文件。

編譯、鏈接

8086/8088CPU中,有二個變址寄存器,分別是應____和DI。

SLDI

在8086/8088系統(tǒng)中,存儲器是分段的,每段最大長度是_64K_字節(jié)。

64K

內存的地址區(qū)域從00000H開始為中斷向量表。

00000H

子程序的參數傳送方式有寄存器、_地址表、—堆棧

等。

寄存器參數傳送方式、地址表參數傳送方式、堆棧參數傳送方式

子程序調用和返回是通過指令和來實現的。

CALL、RET

邏輯運算指令都是按位操作的,其中_NOT_指令執(zhí)行后不影響任何標志位,其他

指令執(zhí)行后,標志位CF和OF一定是0。

NOT、CF、OF

在1M字節(jié)的存儲器中,每個存儲單元都有一個唯一的位地址(二進制

形式),稱為該物理單元的物理地址。

20

若(SP)=0FFFFH,則指令POPAX執(zhí)行后,(SP)=0001H

0001H

n位補碼的表數范圍為:-SN<+o

2m、2n-1-l

指令MOVAX,SEGBUF的執(zhí)行,是把BUF所在的段地址送到AX中。

BUF所在的段地址

當標志位CF=1時表示無符號數運算產生溢出,而當標志位OF=1是

表示帶符號數運算產生溢出。

CF、OF

外中斷有兩種類型,分別是可屏蔽中斷和非屏蔽中斷

可屏蔽中斷、非屏蔽中斷

已知DS=29A0H,某數據的物理地址是2A400H,則當DS=6700H時,該數據的

物理地址是67A00H

67A00H

要將二進制數B輸出到端口25H,可用和兩條語句來實現。

MOVAL,B;OUT25H,AL

中斷INT10H在中斷向量表中的物理地址是、、和o

40H,41H,42H,43H

在匯編語言源程序文件中,每一個段都有段定義偽指令—SEGMENT和

ENDS來分段。SEGMENT

匯編語言源程序在計算機上不能直接運行,必須經過編譯和—連接

后才能形成一個可執(zhí)行文件。

編譯,連接

一條指令由操作碼和操作數兩部分組成。

操作碼,操作數

子程序的調用和返回是通過指令CALL和RET來實現的。

CALL,RET

8086/8088指令系統(tǒng)中,所有指令的目的操作數均不能為立即

尋址方式。

立即

1、現有數據定義偽指令如下,寫出對應的數據在存儲單元中的存放形式。

BUFlDB01,52H

BUF2DW3DUP(?,0)

BUF3DB2DUP(0,2DUP(1,2),3)

BUFlBUF2BUF3

BUF10152

BUF2--00--00--00

BUF3012123012123

2.有兩個16位數1000H和ABCDH分別存放在內存10000H和10004H單元中,試用圖表示他

Oo

10000H1O

10001H

10002H

10003H

10004HCD

10005HAB

們在內存中的存放情況。

3.若在內存中建立50個字的數據區(qū),其起始地址為1000:0100,試給出數據區(qū)第一個字單

元和最后一個字單元的物理地址。

解:第一個字的物理地址=1000H*10H+0100H=10100H

最后一個字的物理地址=10100H+(50-1)*2=10162H

4、什么是偽操作?簡述偽指令和指令的區(qū)別?

答:偽操作是匯編程序對源程序進行匯編時處理的操作,完成處理器選擇、存儲模式定義、

數據定義、存儲器分配、指示程序開始結束等功能。

偽指令和指令的區(qū)別在于,每一條指令必須生成機器代碼,然后在程序運行期間由CPU

來執(zhí)行其操作;而偽指令是在匯編期間由匯編程序執(zhí)行的操作命令,除了數據定義及存儲器

分配偽指令分配存儲器空間外,其它偽指令不生成目標碼。

5、已知AX=1234H,CX=0302H,CF=0,指出下述指令執(zhí)行后的結果及標志位CF、SF、ZF、

OF的值分別是多?

解:1234H+0302H=1536H,指令執(zhí)行后,AX的值為1536H。

沒有產生進位,CF=0;結果為正數,SF=0;結果不等于0,故ZF=0;兩正數相加,結果為

正,故無溢出,OF=0。

6、在0624H單元內有一條二字節(jié)JMPSHORTOBJ指令,如其中位移量為(1)27H,

(2)6BH,(3)0C6H,試問轉向地址OBJ的值是多少?(要有計算過程)

(1)0624H+2H+27H=064DH

(2)0624H+2H+6BH=0691H

(3)0624H+2H+0FFC6H=05ECH

7、求出15F4H減去4EA0H之差,并根據結果設置標志位SF、ZF、CF和OF的值。

15F4H-4AE0H=0C754H,其中SF=1ZF=0CF=1OF=0

8、如TABLE為數據段中0032單元的符號名,其中存放的內容是1234H,試問以下兩條指

令有什么區(qū)別?指令執(zhí)行完后BX寄存器的內容是什么?(5分)

(1)MOVBX,TABLE(2)LEABX,TABLE

MOV指令是數據傳送指令,是將TABLE對應的存儲單元中的內容送入BX,因此,指令執(zhí)

行完后BX的內容為1234H,而LEA指令是地址傳送指令,是將TABLE的偏移地址傳送給

BX,因此,指令執(zhí)行完后BX的內容為0032H。

9、請簡述指令JMPDI和JMP[DI]的相同點與不同點。

這兩條指令都是無條件的段內間接轉移指令,不同的是JMPDI采用的寄存器尋址方式,

轉移到以(DD內容為偏移地址的單元去執(zhí)行指令;而JMP[DI]則采用的是寄存器間接尋

址方式,轉移到以(DD間接尋址的內存單元內容為偏移地址的單元去執(zhí)行指令。

10、宏指令與子程序有什么不同之處?

宏指令實際上就代表了它對應的一組指令。對程序中出現的宏指令進行匯編時,這條宏指令

被它對應的一組指令所代替。如果程序中多次使用宏指令,就等于多次重復拷貝了這個指令

組,占用的內存隨之增加。

調用子程序通過執(zhí)行CALL指令實現,存在“主程序”與“子程序”之間的兩次控制轉移。

使用宏指令不存在控制轉移的過程。

使用子程序和宏指令都可以提高編程效率。子程序占用固定大小的存儲空間,被主程序調用

時,空間不會隨調用次數而增加。但是,宏指令占用存儲空間會隨著使用次數的增加而增加。

11、求出16進制數4321H與62A0H的和,并根據結果設置標志位SF、ZF、CF和OF。

4321H+62AOH=A5C1H,其中SF=1,CF=0,ZF=0,OF=1

12、程序分析題

MOVAX,1234H

MOVBX,AX

NEGBX

ADDAX,BX

請寫出以上程序段執(zhí)行后,(AX)=?,(BX)=?,CF=?

參考答案(AX)=0,(BX)=0EDCCH,CF=1

13、設某數據段:

DATASEGMENT

ORG20H

NUM1=8

NUM2=NUM1+1OH

DAIDB'COMPUTER'

DBOAH,ODH

COUNTEQU$-DAl

DA2DWaCO,,,MP,,,UT,,,ER,

DATAENDS

試回答:1)DAI的偏移地址是多少?2)COUNT的值是多少?3)DA2+5字節(jié)單元的內容

是多少?

參考答案:1)20H2)0AH3)TT的ASCII碼

14、DA_BDBOCH,9,8,OFH,OEH,OAH,2,3,7,4

?

?

XORAX,AX

XORCL,CL

XORBX,BX

LOP:TESTDA_B[BX],01H

JENEXT

ADDAL,DA_B[BX]

INCAH

NEXT:INCBX

INCCL

CMPCL,10

JNELOP

上述程序段運行結束后,AH=_4,AL=_34。如果把”JENEXT"指令改為“JNE

NEXT"指令,那么AH=_6,AL=_50。

參考答案4、AH=4,AL=34;AH=6,AL=50

15、分析下面程序,回答指定問題:

MOVAX,DX

NOTAX

ADDAX,DX

INCAX

試回答:(AX)=,(ZF)=o(0,1)

16、BUFDW0000H

1

LEABX,BUF

STC

RCRWORDPTR[BX],1

MOVCL,3

SARWORDPTR[BX],CL

問:該程序段執(zhí)行后,存儲單元BUF的內容為o(OFOOOH或十進制數-4096)

17、BLOCKDB20,1FH,08H,81H,OFFH-

RESULTDB?

START:LEASI,BLOCK

MOVCX,[SI]

INCSI

MOVAL,[SI]

L0P1:CMPAL,[SI+1]

JNGNEXT

MOVAL,[SI+1]

NEXT:INCSI

LOOPL0P1

MOVRESULT,AL

HLT

問:(1)該程序完成的功能是;

(2)該程序的循環(huán)次數是o(從BLOCK數組中找出最小數,并送

入RESULT單元;循環(huán)次數為20)

18>MOVAX,OOFFH

MOVBXOFFFFH

XORAX,BX

NEGAX

問:該程序段執(zhí)行后,AX=_______________,CF=________o(0100H(CF)=1)

19、MOVBX,1234H

MOVAX,BX

NEGAX

ADDAX,BX

問:該程序段執(zhí)行后,AX=,CF=o(0000H,1)

20、MOVAL,01H

RORAL,1

ORAL,AL

NEGAL

上述程序段執(zhí)行后,AL=—___________,CF=_______o(AL=80H,CF=1)

21、已知有如下指令

MOVAX,A

ANDAX,0FF0H

MOVA,AX

ORA,000FH

1)以上指令實現的功能是什么?

2)若已知(A)=2525H,那么執(zhí)行以上指令后,(A)二?

3)若已知(A)=5252H,那么執(zhí)行以上指令后,(A)二?

1)將A高4位清0,低4位置1;2)(A)=052FH,3)(A)=025FH

22、設AL中高低4位分別有大于7的數,

MOVAH,AL

ANDAH,88H

MOVAL,AH

ORAL,11H

程序段運行后,AH=,AL=o

AH=88H(2分),AL=99H

23、設DS=4000H,DI=0,內存單元4000F?40013H內容依次為02H,OOH,38H,01H和

40H,執(zhí)行下面程序段后,(DS)=?,(CL)=?,(BX)=?

MOVSIJDI+0FH]

MOVBX,[DI+10H]

MOVAX,[DI+12H]

MOVDS,AX

MOVCL,[SI+1]

(DS)=4001H,(CL)=40H,(BX)=3800H

24、XORAX,AX

MOVBX,2

MOVCX,10

LP:ADDAX,BX

ADDBX,2

LOOPLP

1)該程序段的功能是什么?

2)程序執(zhí)行后,(AX)=?,(BX)=?,(CX)=?

2、1)實現求2+4+…+20的和;2)(AX)=110;(BX)=22;(CX)=0

25、閱讀以下程序代碼,分析:

MOVBX,1

XORAX,AX

MOVCX,5

NEXT:ADDAX,BX

INCBX

LOOPNEXT

上述程序段執(zhí)行后AX=;BX=o

(AX)=000FH,(BX)=0006H

26、閱讀以下程序代碼,分析:

XORDL,DL

A:CMPAX,0

JZBYE

SHLAX,1

JNCB

INCDL

B:JMPA

BYE:

試說明該程序段完成的功能。

該程序段完成的功能是統(tǒng)計AX中1的個數。

27、試分析下面的程序段完成什么功能?

MOVCL,04

SHLDX,CL

MOVBL,AH

SHLAX,CL

SHRBL,CL

ORDL,BL

程序功能:將(DX)(AX)中雙字內容左移4位。

28、DAIDB'01234'

DA2DB5DUP(0)

MOVSI,0

MOVCX,5

LOP:MOVAL,DA1[SI]

ADDAL,11H

ORAL,01H

MOVDA2[SI],AL

INCSI

LOOPLOP

1)程序執(zhí)行完后,寫出DA2各字節(jié)的數據。

2)程序中MOVAL,DA1[SI]指令的操作數是什么尋址方式?

1)41H,43H,43H,45H,45H;2)寄存器相對尋址

29、在某子程序的開始處要保護AX、BX、CX、DX四個寄存器信息,在子程序結束時要

恢復這四個寄存器信息。例如:

PUSHAX

PUSHBX;保護現場

PUSHCX

PUSHDX

;恢復現場

試寫出恢復現場時的指令序列。

POPDX

POPCX

POPBX

POPAX

30、指出下列指令源操作數的尋址方式:

MOVAX,ES:[BX]寄存器間接尋址方式

MOVAX,20[BX+SI]相對基址變址尋址方式

MOVAX,ARRAY直接尋址方式

MOVAX,[BX+DI]基址變址尋址方式

MOVAX,1200H立即尋址方式

程序填空題

1、下述程序段完成計算2?20之間的偶數的和,并將結果存于AX中,試把空白處填上適

當的指令(每一空白只填一條指令)

XORAX,AX

MOVBX,0

MOVCX,11

CONT:ADDAX,BX

ADDBX,2

LOOPCONT

(第一空MOVCX,11,第二空ADDBX,2)

2、下面程序段判斷A單元的有符號數,并根據其值小于0,等于0,大于0,分別將0FFH,

OOH,01H送入B單元中。在空白處填上適當的指令(每一空白處只填一條指令)

MOVAL,A

CMPAL,0

JLEAA

MOVB,1

JMPDONE

AA:JLBB

MOVB

溫馨提示

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

最新文檔

評論

0/150

提交評論