微機(jī)原理期末練習(xí)題及答案_第1頁(yè)
微機(jī)原理期末練習(xí)題及答案_第2頁(yè)
微機(jī)原理期末練習(xí)題及答案_第3頁(yè)
微機(jī)原理期末練習(xí)題及答案_第4頁(yè)
微機(jī)原理期末練習(xí)題及答案_第5頁(yè)
已閱讀5頁(yè),還剩148頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

====《匯編語(yǔ)言程序設(shè)計(jì)》模擬試卷01====

一、單項(xiàng)選擇題(在每小題的四個(gè)備選答案中,選出一個(gè)正確的答案,并將其號(hào)碼填在題

干的括號(hào)內(nèi)。每題2分,共20分)

1.若棧頂?shù)奈锢淼刂肥?0100H,當(dāng)執(zhí)行完指令CALLAX后,棧頂?shù)奈锢淼刂肥?)。

A)20102HB)20101HC)200FFHD)200FEH

2.當(dāng)執(zhí)行完下列指令序列后,標(biāo)志位CF和OF的值是()。

MOVAH,85H

SUBAH,32H

A)0,0B)0,lC)l,0D)l,l

3JMPSI的目標(biāo)地址偏移量是(),

A)SI的內(nèi)容B)SI所指向的內(nèi)存單元的內(nèi)容

QIP+SI的內(nèi)容D)IP+[SI]

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

A、CX=0,且ZF=0B、CX=0,或ZF=1

C、CXA0,且ZF=0D、CXrO,或ZF=1

5.指出下列哪個(gè)數(shù)據(jù)在匯編語(yǔ)言中是非法的?()

A)19BH+25DB)25+ALC)108-102QD)101B*0ABH

6.已知AL,BX中各放一個(gè)無(wú)符號(hào)數(shù),計(jì)算AL*BX的積,應(yīng)采用下列程序段()

A)MULBXB)IMULBX

C)XORAH,AHD)CBX

MULBXMULBX

7.NEXT是程序中某指令語(yǔ)句標(biāo)號(hào),下述四個(gè)程序段中,不能實(shí)現(xiàn)轉(zhuǎn)移到NEXT語(yǔ)句執(zhí)行

的是()

A)JMPNEXTB)MOVBX,OFFSETNEXT

JMPBX

C)MOVBX,NEXTD)LEAAX,NEXT

JNPBXJNPAX

8.DATA的定義如下:

DATADW1234H

現(xiàn)想把12H取入到AL寄存器,可以實(shí)現(xiàn)該功能的程序段是()

A)MOVAL,BYTEPTRDATA

B)MOVAL,DATA+1

C)MOVAL,BYTEPTRDATA+1

D)MOVAX,DATA

9.下面指令執(zhí)行后,改變AL寄存器內(nèi)容的指令是()。

A、TESTAL,02HB、ORAL,AL

C、CMPAL,BLD、ANDAL,BL

10.在匯編語(yǔ)言程序的開發(fā)過(guò)程中使用宏功能的順序是()。

A、宏定義,宏調(diào)用B、宏定義,宏展開

C、宏定義,宏調(diào)用,宏展開D、宏定義,宏展開,宏調(diào)用

二、填空題(每空1分,共30分)

L設(shè)機(jī)器字長(zhǎng)為16位,若Nl=117,用二進(jìn)制數(shù)和16進(jìn)制數(shù)表示時(shí)分別為

B和H。若N2=-117,則四2]原=B,[N2]補(bǔ)

=H.

2.指出下列各指令中源操作數(shù)的尋址方式,并計(jì)算指令執(zhí)行后AX的內(nèi)容。

其中:(DS)=3000H,(ES)=4000H,(SS)=5000H,(AX)=1200H,(BX)

=1300H,

(BP)=1400H,(SI)=1500H,(42000H)=1260H,(51400H)=1270H,

(33800H)=1280Ho

①M(fèi)OVAX,1250H;尋址方式,(AX)=o

②MOVAX,ES:[2000H];尋址成,(AX)=

③MOVAX,[BP];尋址方式,(AX)=

尋址方式,)

④XCHGAX,[BX+SI+1OOOH];(AX=o

⑤MOVAX,[BX+2500H];尋址同,(AX)=

3.執(zhí)行下列兩條指令:

MOVBX,9048H

SUBBH,BL

執(zhí)行后,各標(biāo)志位分別為:CF=_,ZF=_,SF=_,OF=_,AF=

4.在存儲(chǔ)器里以為單位存儲(chǔ)信息;在機(jī)器里,訪問(wèn)存儲(chǔ)器都是以—為單位進(jìn)行的,

也就是說(shuō),機(jī)器是以■一(奇或偶)地址訪問(wèn)存儲(chǔ)器的

5.I/O端口有和兩種編址方式,8086采用

_________________編址方式,最大I/O尋址空間是.

6.執(zhí)行下列指令,寫出每條指令執(zhí)行后右邊所示的內(nèi)容:

MOVAL,28H

()

ADDAL,68H;AL=,CF=AF=0

()

DAA;AL=0

三、改錯(cuò)題(15分)

下列程序求一組帶符號(hào)字節(jié)數(shù)據(jù)的平均值,數(shù)據(jù)的首地址為DATA,數(shù)據(jù)個(gè)數(shù)存放在CNT

單元,但程序有邏輯錯(cuò)誤,請(qǐng)將錯(cuò)誤改正過(guò)來(lái)。

1DSEGSEGMENT

2DATADB100.-100,90,20,-120,60

3CNTDW0005H

4AVERDB?

5DSEGENDS

6CSEGSEGMENT

7ASSUMECS:CSEG,DS:DSEG

8MAINPROCFAR

9PUSHDS

10XORDX,DX

11PUSHDX

12MOVAX,DS

13MOVDS,AX

14MOVSI,OFFSETDATA

15MOVCX,OFFSETCNT

16AGAIN:ADDDL,[SI]

17ADCDH,0

18DECCX

19LOOPAGAIN

20DIVCL

21MOVAVER,AL

22RET

23MAINENDP

24CSEGENDS

25ENDMAIN

四、簡(jiǎn)單程序設(shè)計(jì)題(每小題5分,共10分)

用盡可能少的指令實(shí)現(xiàn)完成下列功能的程序片段。

1.假設(shè)在數(shù)據(jù)段中有一字符串stringl,其長(zhǎng)度為20,要求把它們傳送到附加段string2

中,假設(shè)DS和ES都初始化在同一數(shù)據(jù)段中。

2.DX:AX中雙字?jǐn)?shù)據(jù)算術(shù)右移n位,n值在CL中。

五.閱讀下列程序,回答后面的問(wèn)題:(10分)

DATASEGMENT

DATA1DB85H,27H,4AH

DATA2DB93H,87H,65H

LEGHDW3

SUMDB0,0,0

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

STARTMOVAX,DATA

MOVDS,AX

LEASI,DATA1

LEABX,DATA2

LEADI,SUM

MOVCX,LEGH

CLC

AGAINMOVAL,[SI]

ADCAL,[BX]

MOV[DI],AL

INCSI

INCBX

INCDI

LOOPAGAIN

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

請(qǐng)回答:

(1)該程序完成什么功能?

(2)程序中的INCSI可否用指令A(yù)DDSI,1代替,為什么?

(3)程序中的指令LEASI,DATA1可用指令()代替。

(4)CLC指令的目的是()。

六、程序設(shè)計(jì)題(要求:寫出完整的匯編語(yǔ)言源程序,并給出適當(dāng)?shù)淖⑨?15分)

設(shè)在數(shù)據(jù)段中有一字?jǐn)?shù)組:3,5,15,23,37,49,52,65,78,99,105,并且已按

從小到大的順序存儲(chǔ),該數(shù)組的首地址和末地址分別為Array_head和Array_end,要求

編寫程序,將數(shù)N=55插入該數(shù)組的正確位置,使得插入N后數(shù)組仍按從小到大的順序存

儲(chǔ)。

DataSegment

XDW?

Array.headDW3,5,15,23,37,49,52,65,78,99

Array_endDW105

NDW55

DataEnds

====《匯編語(yǔ)言程序設(shè)計(jì)》模擬試卷01參考答案====

-單項(xiàng)選擇題

DBABBCCCDC

二填空題

1.0000000001110101B,0075H,1000000001110101B,0FF8BH

2.立即尋址2450H

直接尋址1260H

寄存器間接尋址1270H

基址+變址相對(duì)尋址1280H

寄存器相對(duì)尋址1280H

3.CF=O,ZF=O,SF=O,OF=1,AF=1

4.字節(jié),字,偶

5.統(tǒng)一編址,獨(dú)立編址,獨(dú)立編址,64K

6.90,0,1,96

三改錯(cuò)題

第3行:0005改為0006H

第12行:DS改為DSEG

第15行:OFFSET去掉

第16?18行改為:

PUSHCX

AGAIN:MOVAL,[SI]

CBW

ADDDX,AX

INCSI

第19行和第20行之間插入一行:

POPCX

第20行改為:IDIVCL

四簡(jiǎn)單程序設(shè)計(jì)題

1.MOVCX,20

LEASI,stringl

LEADI,string2

CLD

MOVSB

2.MOVCH,0

DI:SARDX,1

RCRAX,1

LOOPDI

五讀下列程序,回答后面的問(wèn)題

(1)該程序用來(lái)將存放在DATA1和DATA2開始的單元中的兩個(gè)多字節(jié)數(shù)據(jù)相加,并

將結(jié)果存放在SUM開始的連續(xù)單元中。

(2)不可以,因?yàn)锳DD指令影響進(jìn)位標(biāo)志CF的狀態(tài)

(3)MOVSI,OFFSETDATA1

(4)清進(jìn)位,以便在數(shù)據(jù)最低字節(jié)相加時(shí),可以用ADC指令。

六程序設(shè)計(jì)題

DataSegment

XDW?

Array.headDW3,5,15,23,37,49,52,65,78,99

Array_endDW105

NDW55

DataEnds

Prognamsegment

Mainprocfar

Assumecs:prognem,ds:Data

Start:pushds

Subax,ax

Pushax

Movax,Data

Movds,ax

Movax,N

MovArray_head-2,0FFFFH

Movsi,0

Compare:cmpArray_end[si]zax

Jieinsert

MovbxzArray_end[si]

MovArray_end[si+2]zbx

Subsi,2

Jmpshortcompare

Insert:movArray_end[si+2],ax

Ret

Mainendp

Prognamends

Endstart

====《匯編語(yǔ)言程序設(shè)計(jì)》模擬試卷02====

一填空(每空1分,共30分)

1.225D=()B=()H

2.已知X=-1011011,求[X]補(bǔ)=()0

3?已知兇補(bǔ)=11010101,則X=()D。

4.8086CPU在取指令時(shí),會(huì)選取段寄存器()的值作為段基值,再加上由

()提供的偏移地址形成20位的物理地址。

5.地址2000H:0480H,其物理地址是(),段地址是(),偏移量是

().

6.按存儲(chǔ)器的位置,可以將存儲(chǔ)器分為和.

7.匯編語(yǔ)言程序的建立及匯編過(guò)程為:先用()產(chǎn)生源程序,然后用()產(chǎn)

生目標(biāo)程序,最后用(0產(chǎn)生可執(zhí)行文件。

8.執(zhí)行下列兩條指令:

MOVBX,9048H

SUBBH,BL

執(zhí)行后,各標(biāo)志位分別為:CF=(0,ZF=(),SF=(),OF=(),AF=()。

9.對(duì)于下面的數(shù)據(jù)定義:

DATA1DW10

DATA2DB2,8

DATA3DW100DUP(0)

請(qǐng)寫出下列的MOV指令分別被匯編后的指令形式:

MOVBX,((DATA1LT5)AND20)OR((DATA1GE5)AND30)

MOVSI,TYPEDATA2

MOVCX,LENGTHDATA3

MOVCX,SIZEDATA3

10.在存儲(chǔ)器里以()為單位存儲(chǔ)信息;在機(jī)器里,訪問(wèn)存儲(chǔ)器都是以()為單位進(jìn)行

的,也就是說(shuō),機(jī)器是以()(奇或偶)地址訪問(wèn)存儲(chǔ)器的

11.1/0端口有()和()兩種編址方式,8086采用()編址方式,最大I/O尋址

空間是().

二選擇題(在每小題的四個(gè)備選答案中,選出一個(gè)正確的答案,并將其號(hào)碼填在題干的括

號(hào)內(nèi)。每小題2分,共20分)

1?用來(lái)存放即將執(zhí)行的指令的偏移地址的寄存器是().

A)SPB)IPC)BPD)CS

2.源變址寄存器是()。

A)SIB)DIC)SPD)BX

3.設(shè)SP=1110H,執(zhí)行PUSHAX后,SP中的內(nèi)容為()。

A)SP=1112HB)SP=110EHC)SP=1111HD)SP=110FH

4.語(yǔ)句DAIDB2DUP(3,5,7)匯編后,與該語(yǔ)句功能等同的語(yǔ)句是()。

A)DAIDB3,5,7

B)DAIDB2,3,5,7

C)DAIDB3,5,7,2

D)DAIDB3,5,7,3,5,7

5.下面四個(gè)寄存器中,不能用來(lái)作為間接尋址的寄存器是()。

A)BXB)CXC)BPD)DI

6.完成將BX清零,并使標(biāo)志寄存器CF清零,下面指令錯(cuò)誤的是()。

A)SUBBX,BXB)XORBX,BX

C)MOVBX,0D)ANDBX,0000H

7.下面數(shù)據(jù)傳送指令中,正確的是()。

A)MOVBUF1,BUF2B)MOVCS,AX

C)MOVCL,1000D)MOVDX,WORDPTR[BP+DI]

8.下面指令執(zhí)行后,改變AL寄存器內(nèi)容的指令是()。

A、TESTAL,02HB、ORAL,AL

C、CMPAL,BLD、ANDAL,BL

9.完成將有符號(hào)數(shù)BX的內(nèi)容除以2的正確指令是()。

A)SHRBX,1B)SARBX,1

C)RORBX,1D)RCRBX,1

10.指令LOOPZ的循環(huán)執(zhí)行條件是().

A)CX^0HZF=0B)CX^OpgZF=0

C)CXHO且ZF=1D)CXHO或ZF=1

三改正下列程序中的錯(cuò)誤(直接在程序中改正)(12分)

1?下面是將內(nèi)存一字節(jié)數(shù)據(jù)高4位和低4位互換并放回原位置的程序,找出錯(cuò)誤并改正。

1DATASEGMENT

2DD1DB23H

3DATAENDS

4CODESEGMENT

5ASSUMECS:CODE,DS:DATA

6STARTMOVAX,DATA

7MOVDS,AX

8LEA5乳,OFFSETDD1

9MOVAL,[SI]

10MOVCL,4

11RCRAL,CL

12MOV[SI],AL

13MOVAH,4CH

14INT21H

15CODEENDS

16ENDSTART

2.下面的程序是將內(nèi)存單元一字節(jié)數(shù)據(jù)乘以10放回單元的程序,找出錯(cuò)誤并改正。

1DATASEGMENT

2DADW34

3DATAENDS

4CODESEGMENT

5ASSUMECS:CODE,DS:DATA

6START:MOVAX,DATA

7MOVDS,AX

8MOVSI,OFFSETDA

9MOVAL,[SI]

10MUL10

11MOV[SI],AX

12MOVAH,4CH

13INT21H

14CODEENDS

15ENDSTART

四程序分析(12分)

1.執(zhí)行完程序后,回答指定的問(wèn)題。

MOVAX,0

MOVBX,2

MOVCX,50

LP:ADDAX,BX

ADDBX,2

LOOPLP

問(wèn):(1)該程序的功能是:

(2)血執(zhí)行完成后,(AX)=()。

2.執(zhí)行完程序后,回答指定的問(wèn)題。

BLOCKDB20H,1FH,08H,81H,OFFH..

RESULTDB7

START:LEASI,BLOCK

MOVCH,0

MOVCL,[SI]

DECCX

INCSI

MOVAL,[SI]

LOP1:CMPAL,[SI+]

JLENEXT

MOVAL,[SI+1]

NEXT:INCSI

LOOPLOP1

MOVRESULT,AL

HLT

問(wèn):(1)該程序的功能是:

(2)該程序的循環(huán)次數(shù)是()。

五、填語(yǔ)句(12分)。

1.從鍵盤輸入一個(gè)十六進(jìn)制數(shù)碼,轉(zhuǎn)換成二進(jìn)制數(shù)放入HEXNUM單元,在橫線上填入

適當(dāng)?shù)恼Z(yǔ)句。

HEXNUMDB?

MOVAH,

INT21H

CMPAL,39H

______NEXT

SUBAH,

NEXT:SUBAL,30H

MOVHEXNUM

HLT

六、程序設(shè)計(jì)題(要求:寫出完整的匯編語(yǔ)言源程序,可以上機(jī)調(diào)試運(yùn)行,并給出適當(dāng)?shù)?/p>

注釋,14分)

知在內(nèi)存中從BLOCK單元起存放有20個(gè)帶符號(hào)字節(jié)數(shù)據(jù),統(tǒng)計(jì)其中負(fù)數(shù)的個(gè)數(shù)并放入

COUNT單元.

DATASEGMENT

BLOCKDB-7,1,12,-90,-70,34,-1,56,45,-12

DB-3,-4,23,0,12,11,-9,-8,67,-56

CNEQU$-BLOCK

COUNTDB?

DATAENDS

====《匯編語(yǔ)言程序設(shè)計(jì)》模擬試卷02參考答案====

一填空(每空1分,共30分)

1.11100001B,ElH

2.10100101B

3.-43

4.CS,IP

5.20480,2000h,0480H

6.內(nèi)存儲(chǔ)器,外存儲(chǔ)器

7.Edit,Masm,Link

8.0,0,0,1,1

9.MOVBX,30

MOVSI,1

MOVCX,100

MOVCX,200

10.字節(jié),字,偶

11.統(tǒng)一編址,獨(dú)立編址,64K

二選擇題(每小題2分,共20分)

BABDBCDDBC

三改正下列程序中的錯(cuò)誤(直接在程序中改正)(12分)

1.第8行去掉OFFSET

第11行改為:RORAL,CL

2.第9行改為:MOVAL,BYTEPTR[SI]

第10行改為:MOVBL,10

MULBL

三程序分析(12分)

1(1)完成0?100之間所有偶數(shù)求和的功能

(2)(AX)=(2250)

2(1)從一組數(shù)中找出最小數(shù)送RESULT中

(2)31

五、填語(yǔ)句(12分)。

01,JBE,07,AL

六、程序設(shè)計(jì)(14)

DATASEGMENT

BLOCKDB-7,1,12,-90,-70,34,-1,56,45,-12

DB-3,-4,23,0,12,11,-9,-8,67,-56

CNEQU$-BLOCK

COUNTDB?

DATAENDS

CODESEGMENT

ASSUMEDS:DATA,CS:CODE

START:MOVAX,DATA

MOVDS,AX

MOVDL,0

LEASI,BLOCK

MOVCX,CN

LP:MOVAL,[SI]

TESTAL,80H

JZNEXT

INCDL

NEXT:INCSI

LOOPLP

MOVCOUNT,DL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

====《匯編語(yǔ)言程序設(shè)計(jì)》模擬試卷03====

一填空題(每空1分,共20分)

1.計(jì)算機(jī)系統(tǒng)由_________和組成.

2.計(jì)算機(jī)語(yǔ)言是__________與____________之間交流信息的工具,計(jì)算機(jī)語(yǔ)言可分為三

類:O

3.28.625D=B=Q=H。

4.8086CPUB_______位微機(jī),8088CPU位酬,80386CPUB______

位微機(jī)。

5.在下列空白處,填上一個(gè)屬于同類的運(yùn)算符號(hào):

⑴+、-、*、/、、SHL、SHR

⑵AND、OR、、NOT

(3)EQ、NE、LT、LE、GT、

6.在8086/8088中,存儲(chǔ)器以為單位存儲(chǔ)信息;在機(jī)器里,訪問(wèn)存儲(chǔ)器都是以

—為單位進(jìn)行的,也就是說(shuō),機(jī)器是以一(奇或偶)地址訪問(wèn)存儲(chǔ)器的。

7.已知[X]補(bǔ)=11010101,貝(JX=D。

二選擇題(在每小題的四個(gè)備選答案中,選出一個(gè)正確的答案,并將其號(hào)碼填在題干的括

號(hào)內(nèi)。每題2分,共20分)

1.以8086/8088為CPU的微機(jī)內(nèi)存最大容量為()。

A)4MBB)1MBC)640KBD)64KB

2.與1A.5H不等的數(shù)據(jù)是()。

A)26.3125DB)11010.0101BQ32.5Q

3.8位二進(jìn)制補(bǔ)碼表示的整數(shù)數(shù)據(jù)范圍是()。

A)-128-127B)-127-127C)-128~128D)-127~128

4.下列四個(gè)寄存器中,不允許用傳送指令賦值的寄存器是().

A)CSB)DSC)ESD)SS

5.指令MOV1OO[SI][BP],AX的目的操作數(shù)的隱含段為().

A)數(shù)據(jù)段B)堆棧段C)代碼段D)附加段

6.確定下列哪些數(shù)據(jù)在匯編語(yǔ)言中是非法的()。

A)19AHB)1372C)ABHD)145

7.若棧頂?shù)奈锢淼刂窞?0100H,當(dāng)執(zhí)行完指令PUSHAX后,棧頂?shù)奈锢淼刂窞?/p>

().

A)20102HB)20101HC)200FFHD)200FEH

8.當(dāng)執(zhí)行完下列指令序列后,標(biāo)志位CF和SF的值是()。

MOVAL,0C4H

ADDAL,9DH

A)0,0B)0,1C)1,0D)1,1

9.JMPWORDPTR[BX]轉(zhuǎn)移的目標(biāo)地址是()。

A)BX中的內(nèi)容B)SP+BX的和

C)IP+[BX]之和D)BX指示的內(nèi)存單元的內(nèi)容

10.8086/8088CPU的I/O指令采用間接尋址時(shí),可使用的間址寄存器是().

A)BXB)DXC)SID)DI

三判斷題,若錯(cuò)誤,請(qǐng)說(shuō)明原因或改正(判斷每題的正誤,對(duì)的在題后括號(hào)內(nèi)畫7'

錯(cuò)的畫"X")(20分,)

1.在8位補(bǔ)碼表示中,10000000表示的真值為-0。()

2.奇偶標(biāo)志位PF,當(dāng)運(yùn)算結(jié)果的低8位中有偶數(shù)個(gè)1時(shí),被置為0。()

3.CS、DS、ES和SS段都可以存放指令代碼。()

4.INC[AX]()

5.MOV[DI],[SI]()

6.兩數(shù)相等時(shí)轉(zhuǎn)移可用JZ指令。()

7.OUT[BX],AL()

8.當(dāng)IF=0時(shí),CPU不能響應(yīng)NMI中斷。()

9.已知AL、BX為帶符號(hào)數(shù),計(jì)算AL*BX的乘積,使用下列程序段。

CBW

IMULBX()

10.在8位補(bǔ)碼表示法中,對(duì)-128求補(bǔ)會(huì)產(chǎn)生溢出。()

四程序分析(10分)

1,試分析下列程序段。

ADDAX,BX

JNOLI

JNCL2

SUBAX,BX

JNCL3

JNOL4

JMPSHORTL5

如果AX和BX的內(nèi)容給出如下:

AXBX

(1)14C680DC

(2)B56854B7

(3)42C8608D

(4)D0239FD0

(5)9FD0D023

問(wèn)該程序分別在上面5種情況下執(zhí)行后,程序轉(zhuǎn)向哪里?請(qǐng)直接標(biāo)注在題后。

五宏定義如下,試展開下面的宏調(diào)用。(每題5分,共10分)

1.DfmesslMACROLAB,NUM,NAME

LAB84NUMDB'HelloMR.&NAME',ODH,OAH,0

ENDM

;宏調(diào)用語(yǔ)句:

DfmesslMess,1,Assembly

;宏展開為:

2.Dfmess2MACROMESS

DB'&MESS',ODH,OAH,0

ENDS

;宏調(diào)用語(yǔ)句:

Dfmess2<Thisismyscore!>90>

Dfmess2%(10+5-2)

宏展開為:

六寫出實(shí)現(xiàn)下列功能的程序片段。(5分)

若要測(cè)試AL寄存器中第2位是否為1(但不能改變AL的值),如為1則轉(zhuǎn)移到EXIT去執(zhí)

行,否則將其第5、3位變反。

七程序設(shè)計(jì)(要求寫出完整的匯編語(yǔ)言源程序,包括段的定義,寄存器保護(hù)等,并給出適

當(dāng)?shù)淖⑨專?5分)

已知兩個(gè)無(wú)符號(hào)字?jǐn)?shù)據(jù)X、Y分別存放在ADRX和ADRY單元,編制程序,若X是丫的倍

數(shù),則在顯示器上顯示0,否則顯示1.

DataSegment

Array_endDW105

NDW55

DataEnds

====《匯編語(yǔ)言程序設(shè)計(jì)》模擬試卷03參考答案===

一填空題(每空1分,共20分)

1.硬件系統(tǒng),軟件系統(tǒng)

2.計(jì)算機(jī),程序員,機(jī)器語(yǔ)言,匯編語(yǔ)言,高級(jí)語(yǔ)言

3.11100.101B,34.5Q,1C.AH

4.16,準(zhǔn)16,32

5.MODXORGE

6.字節(jié),字,偶

7.-43

二選擇題(每題2分,共20分)

BCAABCDCDDB

三判斷題,若錯(cuò)誤,請(qǐng)說(shuō)明原因或改正(20分,)

1.(X)表示-128

2.(X)被置為1

3.(X)只有CS可以

4.(X)AX不能為地址計(jì)數(shù)器

5.(X)兩操作數(shù)不能同時(shí)為存儲(chǔ)單元

6.(V)

7.(X)OUT中不能用BX,可以用DX

8.(X)CX不能為目的操作數(shù)

9.(V)

10.(V)

四程序分析(10分)

1.(1)L1

(2)L1

(3)L2

(4)L5

(5)L5

五宏定義如下,試展開下面的宏調(diào)用。(每題5分,共10分)

1.1MessiDB'HelloMR.Assembly1,ODH,OAH,0

2.1DBThisismyscore>90,,ODH,OAH,0

1DB'13',ODH,OAH,0

六寫出下面的程序片段。(5分)

MOVDL,AL

NOTDL

TESTDL,00000100B

正EXIT

XORAL,00101000B

EXIT:

七程序設(shè)計(jì)(15分)

已知兩個(gè)無(wú)符號(hào)字?jǐn)?shù)據(jù)X、Y分別存放在ADRX和ADRY單元,編制程序,若X是丫的倍

數(shù),則在顯示器上顯示0,否則顯示1.

DATASEGMENT

ADRXDW144

ADRYDW12

DATAENDS

CODESEGMENT

ASSUMECS;CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVAX,ADRX

MOVDX,0

DIVADRY

CMPDX,0

JZEXT

MOVDL,'1'

JMPEXIT

NEXT:MOVDL,'O"

EXIT:MOVAH,02H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

====《匯編語(yǔ)言程序設(shè)計(jì)》模擬試卷04====

一填空(每空1分,共30分)

1.馮?諾依曼型計(jì)算機(jī)將計(jì)算機(jī)的硬件部分分為五大功能部件,分別

2.119D=B=H

3.已知X=-1011011,求兇反=,兇補(bǔ)=。

4.十進(jìn)制數(shù)45的組合BCD碼為BCD。

5.執(zhí)行部件EU的主要功能是:?

6.8086CPU在取指令時(shí),會(huì)選取寄存器的值作為段基值,再加上由____________

提供的偏移地址形成20位的物理地址。

7.地址2000H:0480H,其物理地址是,段地址是,偏移量

是。

8.將匯編語(yǔ)言源程序翻譯成目標(biāo)程序的過(guò)程叫.

9.執(zhí)行下列兩條指令:

MOVBX,7896H

ADDBH,BL

執(zhí)行完上述指令后,各標(biāo)志位分別為:

CF=_,ZF=_,SF=_,OF=_,AF=一

10.指出下列各指令中源操作數(shù)的尋址方式,并計(jì)算指令執(zhí)行后AX的內(nèi)容。

其中:(DS)=3000H,(ES)=4000H,(SS)=5000H,(AX)=1200H,(BX)

=1300H,

(BP)=1400H,(SI)=1500H,(42000H)=1999H,(51400H)=2000H,

(33800H)=2001H.

@MOVAX,1250H;尋址放,(AX)=

②MOVAX,ES:[2000H];尋址方式,(AX)=o

③MOVAX,[BP];_____________尋址方式,(AX)=

④XCHGAX,[BX+SI+1000H];尋址方式,(AX)=。

二選擇題(在每小題的四個(gè)備選答案中,選出一個(gè)正確的答案,并將其號(hào)碼填在題干的括

號(hào)內(nèi)。每題2分,共30分)

1.目的變址寄存器是()。

A)SIB)DIC)SPD)BX

2.下列常用尋址方式中,()屬于立即尋址,()屬于寄存器間接尋址,

()屬于變址尋址,()屬于直接尋址。

A)MOVAX,ES:[2000H]B)MOV[BX],AX

C)MOVAX,2000HD)MOVAX,[BX+3AH]

E)MOV[DI+12H],AXF)MOVAX,BX

3.設(shè)SP=111OH,執(zhí)行PUSHAX后,SP中的內(nèi)容為().

A)SP=1112HB)SP=11OEH

C)SP=1111HD)SP=11OFH

4.下列指令中錯(cuò)誤的指令為()和().

A)MOVAX,CSB)MOVDS,1500H

C)MOVSI,BXD)MOV[2000H],BL

E)MOV[DI+32H],[1845H]F)MOVAX,BX

5.語(yǔ)句DA1DB2DUP(3,5),7匯編后,與該語(yǔ)句功能等同的語(yǔ)句是

().

A)DAIDB3,5,7B)DAIDB2,3,5,7

C)DAIDB3,5,3,5,7D)DAIDB3,5,7,3,5,7

6.下面四個(gè)寄存器中,用來(lái)作為I/O端口間接尋址的寄存器是().

A)BXB)DXC)BPD)DI

7.完成將BX清零,并使標(biāo)志寄存器CF清零,下面指令錯(cuò)誤的是(

A)SUBBX,BXB)XORBX,BX

C)MOVBX,0D)ANDBX,0000H

8.下面數(shù)據(jù)傳送指令中,正確的是()。

A)MOVBUF1,BUF2B)MOVCS,AX

C)MOVCL,1000D)MOVDX,WORDPTR[BP+DI]

9.完成將有符號(hào)數(shù)BX的內(nèi)容乘以2的正確指令是()o

A)SHRBX,1B)SARBX,1

C)SALBX,1D)RCRBX,1

10.指令LOOPNZ的循環(huán)執(zhí)行條件是().

A)CX^0HZF=0B)CX^0B£ZF=0

C)CXHO且ZF=1D)CXHO或ZF=1

11,下列寄存器中不能作為間址寄存器的是()O

A)SIB)DIC)CXD)BX

三改錯(cuò)題(16分)

下列程序執(zhí)行后,應(yīng)將UST數(shù)組中的最大值存入MAX單元,數(shù)組元素為無(wú)符號(hào)字?jǐn)?shù)據(jù),

數(shù)據(jù)個(gè)數(shù)在CNT單元中。現(xiàn)已知程序有錯(cuò),請(qǐng)改下,使之完成預(yù)定功能。

1.DSEGSEGMENT

2.LISTDW1,200,30,400,0,7,4000

3.CNTDB7

4.MAXDW?

5.DSEGENDS

6.CSEGSEGMENT

7.ASSUMEDS:DSEG,DS:CODE

8.FMAX:MOVDX,DSEG

9.MOVDS,AX

10.LEASI,LIST

11.MOVCX,CNT

12.CLD

13.LODSW

14.DECCX

15.CMPAL,[SI]

16.兒ESMALL

17.LODSW

18.SMALL:INCSI

19.INCSI

20.DECCX

21.LOOPAGAIN

22.MOVMAX,SI

23.MOVAH,4CH

24.INT21H

25.CSEGENDS

26.ENDSTART

四程序分析(9分)

1.執(zhí)行完程序后,回答指定的問(wèn)題。

MOVAX,0

MOVBX,2

MOVCX,50

LP:ADDAX,BX

ADDBX,2

LOOPLP

問(wèn):Q)該程序的功能是:

(2)程序執(zhí)行完成后,(AX)=()。

2.執(zhí)行完程序后,回答指定的問(wèn)題。

MOVAX,200H

MOVBX,500H

MOV[BX+10H],30H

ADDAX,[BX+10H]

LEASI,[BX+1OH]

MOVBX,AX

問(wèn):程序段執(zhí)行后:

SI=()

BX=()

五程序設(shè)計(jì)題。(要求寫出完整的匯編語(yǔ)言源程序,可以上機(jī)調(diào)試運(yùn)行,并給出適當(dāng)?shù)淖?/p>

釋,15分)

已知在數(shù)據(jù)段有一帶符號(hào)單字節(jié)數(shù)X,判斷其正負(fù),若為負(fù)數(shù),求其絕對(duì)值

并放到丫單元。(8分)

====《匯編語(yǔ)言程序設(shè)計(jì)》模擬試卷04參考答案====

一填空(每空1分,共30分)

1.運(yùn)算器,控制器,存儲(chǔ)器,輸入設(shè)備,輸出設(shè)備

2.1110111B,77H

3.10100100B,10100101B

4.01000101

5.執(zhí)行指令

6.CS,IP

7.200480H,2000H,0480H

8.匯編

9.1,0,0,0,0

10.立即數(shù),2450H

直接尋址,1999H

寄存器間接尋址,2000H

基址加變址尋址,2001H

二選擇題(每題2分,共30分)

BCBEABBEECBCDCCC

三改錯(cuò)題(16分)

第3行改為CNTDW7

第8行改為FMAX:MOVAX,DSEG

第15行改為AGAIN:CMPAX,[SI]

第16行改為JAESMALL

第17行改為MOVAX,[SI]

第20行去掉

第22行改為MOVMAX,AX

第26行改為ENDFMAX

四程序分析(9分)

1.Q)該程序的功能是計(jì)算0?100之間偶數(shù)之和

(2)程序執(zhí)行完成后,(AX)=(2550)。

2.執(zhí)行完程序后,回答指定的問(wèn)題。

SI=(510),

BX=(230)。

五程序設(shè)計(jì)Q5分)

DATASEGMENT

XDB-16

YDB?

DATAENDS

CODESEGMENT

ASSUMEDS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVAL,X

TESTAL,80H

JZEXIT

NEGAL

EXIT:MOVY,AL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

====《匯編語(yǔ)言程序設(shè)計(jì)》模擬試卷05====

一、單項(xiàng)選擇題(在每小題的四個(gè)備選答案中,選出一個(gè)正確的答案,并將其號(hào)碼填在題干

的括號(hào)內(nèi)。每小題2分,共20分)

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

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

2、下列寄存器組中在段內(nèi)尋址時(shí)可以提供偏移地址的寄存器組是()

A、AX,BX,CX,DXB、BX,BP,SI,DI

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

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

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

C、CXrO,且ZF=OD、CXHO,或ZF=1

4、對(duì)寄存器AX的內(nèi)容乘以4的正確指令序列是()。

A、SHRAX,1SHRAX,1BsSHLAX,1SHL,AX,1

C、ROLAX,1ROLAX,1D、RCRAX,1RCRAX,1

5、執(zhí)行INC指令除對(duì)SF、ZF有影響外,還要影響的標(biāo)志位是().

A、OF,AF,PFB、OF,AF,CF

C、OF,PF,CFD、AF,PF,CF

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

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

C、DH=10HCF=0D、DH=0F0HCF=1

7、下列傳送指令中有語(yǔ)法錯(cuò)誤的是()。

A、MOVCS,AXB、MOVDS,AX

C、MOVSS,AXD、MOVES,AX

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

A、TESTAL,02HB、ORAL,AL

C、CMPAL,BLD、ANDAL,BL

9、執(zhí)行除法指令后,影響的標(biāo)志位是()。

A、CF,OFB、SF,ZF

C、CF,OF,SFD、AF,CF,OF,PF,SF,ZF都不確定

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

MOVAL,82H

CBW

A、AX=0FF82HB、AX=8082H

C、AX=0082HD、AX=0F82H

二、填空題(每空1分,共20分)

1.計(jì)算機(jī)系統(tǒng)由和組成。

2.計(jì)算機(jī)語(yǔ)言是與之間交流信息的工具計(jì)算機(jī)語(yǔ)言可分為

三類:O

3.28.625D=B=Q=Ho

4.8086CPU是位微機(jī),8088是位微機(jī),80386位微機(jī)。

5.在下列空白處,填上一個(gè)屬于同類的運(yùn)算符號(hào):

⑴+、-、*、/、、SHL、SHR

⑵AND、OR、、NOT

⑶EQ、NE、LT、LE、GT、

6.在8086/8088中,存儲(chǔ)器以為單位存儲(chǔ)信息;在機(jī)器里,訪問(wèn)存儲(chǔ)器都是以

―為單位進(jìn)行的,也就是說(shuō),機(jī)器是以(奇或偶)地址訪問(wèn)存儲(chǔ)器的。

7.已知兇補(bǔ)=11010101,貝!JX=D。

三、判斷下列指令是否正確,若錯(cuò)誤,請(qǐng)說(shuō)明原因。(20分)

其中:VARI,VAR2為字節(jié)變量

1.MOVBX,OFFSETVARI;()

2.MOVAL,[BX+5];()

3.MOVAX,VARI;()

4.MOVAX,WORDPTRVAR1+1;()

5.MOVAX,VAR1[BX][SI];()

6.MOVAX,OFFSETVAR1[BX][SI];()

7.INC[AX];()

8.LEADI,VAR

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論