匯編概念與題目_第1頁
匯編概念與題目_第2頁
匯編概念與題目_第3頁
匯編概念與題目_第4頁
匯編概念與題目_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第一章

微機的主:要特點

微機的硬件結構

二進制、十進制、八進制、十六進制的數據比較

正數、0、負數的原碼、反碼、補碼

什么叫做BCD碼(壓縮BCD、非壓縮BCD)什么叫做ASCH碼

簡述微機的主要特點

微機的硬件結構有哪些部分

用MOV指令將卜進制數47以組合BCD碼格式送至累加器AX

找出無符號數中最小或最大的數

十進制數-127的原碼

0的原碼、反碼、補碼

已知十進制數,請給出二進制、八進制、十六進制的形式

第二章

8086微處理器的內部結構(EU:BIU:)

寄存器組:通用寄存器、控制寄存器、段寄存器

標志寄存器的內容及各標志位的意義

8086的引腳個數、數據總線寬度、地址總線寬度、尋址空間大小、關于兩個中斷引腳

存儲器的分段管理、每個段的最大尺寸、物理地址、段地址、偏移地址(有效地址)、邏輯地址

I/O空間的尋址范圍、I/O空間的編址方式

微處理器是微機系統的核心部件,微處理器主要組成部分有哪些

在8086CPU內部有多種寄存器,其中通用寄存器、控制寄存器、段寄存器的名稱是。。。標志寄存器內的標志位

8086的尋址空間的大小、每段的尋址空間的大小、I/O的空間大小、I/O的編址方式

給邏輯地址寫出段地址、偏移地址、物理地址,或反過來求。

第三章

指令與指令系統的定義

指令中的數據尋址方式(四大類)

指令:數據傳送指令

算數運算指令

邏輯運算指令

移位運算指令

控制轉移指令

處理器控制指令

例03.11

跳轉指令有哪四類

子程序調用指令和返回指令分別是什么

尋址方式是否正確

邏輯運算后的結果

指令跳轉的條件

清零AX的語句有哪些

XORAX,AXSUBAX,AX

ANDAX,OOHXORAX,11H

LOOP循環結束的條件

數據尋址方式有哪些

第4章

匯編程序的組成:(數據段)(堆棧段)代碼段

各個段的定義:開始、結束

數據段寄存器的初始化語句

返回DOS的語句

偽指令(主要是段定義偽指令)

程序設計基本步驟

三種基本程序結構

子程序(P86例4.19)

DOS功能調用

匯編數據段寄存器的初始化語句是什么

偽指令DBDWDD

簡述程序設計基本步驟

匯編程序有哪幾種基本程序結構

分析?個包含有子程序的程序

DOS功能調用的語句寫法

帶顯示的鍵盤輸入AL

從顯示器上輸出單個字符DL

返回DOS

分析程序功能P91習題4.8

第五章

1.存儲器按照存儲介質的不同可以分為半導體存儲器、磁表面存儲器和光存儲器

半導體存儲器按存取方式不同可以分為隨機存取存儲器RAM和只讀存儲器ROM

RAM按照存儲原理可以分為靜態存儲器(SRAM)和動態存儲器(DRAM)

ROM的種類有MROM、PROM、EPROM、E2PROM等

2.存儲空間擴展:計算、擴展方式、畫圖

第7章

CPU的中斷服務程序的執行過程。

模擬試卷一

一、單項選擇題(每小題1分,共20分)

1.指令指針寄存器是()。

A.BPB.SP

C.IPD.PSW

2.DAIDB67H

NUMEQU80H

則執行ANDDAI,NUM語句后DAI中的內容是()。

A.E7HB.80H

C.67HD.0

3.與指令MOVAX,NOTOFOH等效的匯編語言指令是()。

A.MOVAX,OFHB.MOVAX,OFFOFH

C.MOVAX,000FHD.MOVAX,OFOH

4.一個有16個字的數據區,它的起始地址是70A0H:DDF6,則這個數據區最末一個字單元的

物理地址是()。

A.7E806HB.7E814H

C.7E815HD.7E80BH

5.可用作基址變址尋址或寄存器間接尋址的寄存器是()。

A.AX,BX,CX,DXB.DS,ES,CS,SS

C.SP,BP,IP,BXD.SLDI,BP,BX

6.在申操作指令中,下列描述中不正確的是()o

A.REPMOVSBB.REPSTOSB

C.REPECMPSBD.REPLODSB

7.ORG0030H

DAIDBO,'O',3OH

偏移地址為OO3OH字存儲單元的內容是()o

A.3OOOHB.OOH

C.OO3OHD.3O3OH

8.編寫分支程序,在進行條件判斷前,可用指令構成條件,其中不能形成條件的指令是()o

A.CMPB.SUB

C.ANDD.MOV

9.將高級語言的程序翻譯成機器碼程序的實用程序是()o

A.編譯程序B.匯編程序

C.解釋程序D.目標程序

10.設DSTE4AH,偏移地址為0056H,該字節的物理地址為()。

A.1E4A6HB.1E456H

C.1E556HD.1E4F6H

11.假設下列指令中所用的標識符類型均為字類型屬性的變量,下述指令中正確的指令是()。

A.MOVWORD.DA1,WORD_DA2

B.MOVWORD.DA[BX+4*4][DI],SP

C.MOVAX,WORD.DA[DX]

D.MOV[BX][SI],3

12.當程序順序執行時,每取一條指令語句,IP指針增加的值是()o

A.1B.2

C.3D.由指令長度決定的

13.若AX=349DH,CX=0FH。則執行指令ANDAX,CX后,AX的值是()。

A.349DCHB.000DH

C.049DHD.0240H

14.在下列四種描述中,不重復執行循環的是()0

A.MOVCX,0

LOP:LOOPLOP

B.MOVCX,-I

LOP:LOOPLOP

C.MOVCX,1

LOP:LOOPLOP

D.MOVCX,2

LOP:LOOPLOP

15.若(AX)=2000H,(BX)=0050H,(20050H)=I2H,(20051H)=34H,執行MOVAX、

[BX]指令后,AX寄存器中的內容是()o

A.(AX)=0050HB.(AX)=0()12H

C.(AX)=1234HD.(AX)=3412H

16.設(AX)=0FC77H,(CX)=504H,CF=1,執行SARAX,CL指令后,AX的值是()。

A.FFC8HB.FFC9H

C.FFC7HD.FCC8H

17.假設字節單元(02398H)=12H,(02399H)=34H,(0239AH)=56H,則(02399H)字單

元的內容是()o

A.3412HB.3456H

C.5634HD.I234H

18.INCWORDPTR[BX]指令中的操作數的數據類型是()。

A.字B.雙字

C.字節D.四字

19.下列4條指令中,錯誤的指令是()o

A.SUBCX,DXB.MOVAX,SS:[DX]

C.SHLAX,1D.ADDAX,[BP+S1]

20.若AX=912DH,CX=0FH,執行指令ORAX,CX后,AX的值是()。

A.000DHB.912FH

C.912AHD.002FH

X3X

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

1.在8086/8088匯編語言中,串操作指令中搜索字符串指令的助記符是。

2.當發生除法溢出時,OF=°

3.指令JMPWORDPTR[BX]屬于尋址。

4.當源程序被匯編時,匯編程序對每個宏調用作。

5.DD偽指令中定義的每個操作數占有個字節。

三、簡答題(每小題2分,共6分)

1.ARRAY2DB10H,20H,30,40H

ARRAY3DW20H,DUP(0,1,2,DUP(2))

MOVBL,SIZEARRAY2

MOVCL,SIZEARRAY3

上述兩條指令的等效指令是什么?

2.請指出下述兩條偽指令語句的區別。

COUNT!DB48H

COUNT2EQLJ48H

3.請寫出完成下列操作所選用的指令。

(1)將AX的內容減去7A30H和上次運算的借位。

(2)將變量名TABL的段地址送AX。

四、程序分析題(每小題5分,共35分)

1.MOVAH,1

INT21H

MOVBL,AL

MOVAH,1

INT21H

ADDAL,BL

AAA

上述程序完成的功能是什么?

2.現有卜列程序段:

MOVAX,1234H

MOVDX,4578H

MOVCL,04

SHLDX,CL

MOVBL,AH

SHLAX,CL

SHRAX,CL

ORDL,BL

試問上述程序段運行后,(AX)=,(BL)=,(DX)=。

3.假設數據區有:

DAIDB56H

DA2DB34H

DA3DB?

DA4DB?

(1)下列程序段完成的功能是什么?

(2)程序段執行后DA3、DA4字節單元的內容是什么?

MOVAL,DA1

ADDAL,DA2

JONEXT

MOVDA3,AL

MOVDA4,0

JMPEXIT

NEXT:MOVDA4,1

EXIT:HLT

4.已知(AX)=4321H

INCAX

NECAX

DECAX

NEGAX

上述幾條指令執行后,(AX)=

5.MOVAX,2

MOVDX,AX

SALAX,1

SALAX,1

ADDAX,DX

SARAX,1

問:(1)上述程序段執行后完成什么功能?

(2)程序段執行后AX寄存器的內容是多少?

6.設(BX)=76D1H,指令:

MOVCL,7

SHRBX,CL

執行后,(BX)=o

7.SUBAL,AH

DAS

若指令執行前,(AL)=86H,(AH)=07;

問:上述指令執行后,(AL)=,(CF)=,(AF)o

五、程序填空題(每小題6分,共12分)

1.以DA為起始地址的數組中存放的N個有符號數據,下面程序完成了找出N個數中的最大

和最小值分別送入AH和AL中。請將程序段補充完整(每一空白處只填一條指令)。

DADB12,34,-24,6A,…,98:N個有符號數據

CUNTEQU$-DA

MOVSI,ADR

MOVCX,CUNT

MOVBH,|SI]

MOVBL,BH

LOPI:(1)_

CMPAL,BH

_(2)_

MOVBH,AL

_(3)_

LOP2:CMPAL,BL

LGELOP3

MOVBL,AL

LOP3:DECCX

_(4)_

MOVAX,BX

2.下列程序段完成:2+4+…+20共10個偶數的累加和。請將程序段補充完整(每?空白處只

填一條指令)。

DATASEGMENT

SUMDW?

XORAX,AX

_(1)_

MOVBX,2

LOP1:ADDAX,BX

INCBX

INCBX

_⑵_

JNZLOP1

MOVSUM,AX

六、編程題(本大題共3小題,共22分)

1.試編寫一程序段,將標志寄存器中的符號位SF置'V(5分)。

2.假設:

DATASEGMENT

ARRAYDB'XXXX…XX'

CUNTEQU$-ARRAY

DATAENDS

試編寫一個程序段,完成用空格將以ARRAY為起點字符區中的字符清除(5分)。

3.定義一個數據區,它包含有23H,24H,25H和26H四個字符數據,把這個數據區復制20

次,并顯示出復制結果(12分)。

模擬試卷二

一、單項選擇題(每小題1分,共20分)

1.指令MOVAX,COUNT[SI],它源操作數的尋址方式是()。

A.直接尋址B.寄存器相對尋址

C.寄存器間接尋址D.基址變址尋址

2.卜.列4條指令中,錯誤的指令是(

A.SHRAX,1B.MOVAX,ES:[DX]

C.SUBCX,AXD.ADDBX,[SP+DI]

3.在IBMPC微機中,如果某一內存單元的物理地址是7E7F6H,那么它的邏輯地址是():

DDF6Ho

A.70B0HB.70A0H

C.70C0HD.7E76H

4.MOVAL,12H

ADDAL,OFFH

上述兩條指令執行后,CF和OF的值是()。

A.CF=1OF=0B.CF=1OF=I

C.CF=0OF=1D.CF=0OF=0

5.使用LINK連接命令,執行后可生成文件的擴展名為()。

A.COMB.EXE

C.OBJD.LST

6.累加器AL中的內容為81H,CMPAL,執行54H指令后,累加器AL中的內容為()。

A.23HB.OOH

C.81HD.D5H

7.在串操作指令前使用重復前綴指令REPE,終止中的重復操作條件是()o

A.CX=0且ZF=OB.CX=0且ZF=1

C.CX=0或ZF=OD.CX=0或ZF=1

8.執行下列指令后,正確的結果是()o

MOVAL,100

MOVBL,-1

A.AL=100H,BL=01HB.AL=64H,BL=OFFH

C.AL=64H,BL=81HD.AL=100H,BL=OFFH

9.在循環程序U」使用LOOP指令作為循環結束的判斷,其計數值一般應放的寄存器是()o

A.DXB.CX

C.BPD.IP

10.在匯編語言程序設計中,偽指令OFFSET的含義是回送變量或標號的()。

A.段地址值B.偏移地址值

C.物理地址值D.操作數

11.指令指針寄存器IP用于存放代碼段中的偏移地址,在程序執行過程中,它始終指向()o

A.上?條指令的首地址B.下?條指令的首地址

C.正在執行指令的首地址D.需計算有效地址后才能確定的地址

12.下面的數據傳送指令中,錯誤的操作是()o

A.MOVSS:[BX+DI],1000H

B.MOVDX,1000H

C.MOVWORDPTR[BX],1000H

D.MOVDS,2000H

13.為了使執行串操作指令時地址按減量方式處理,應使用的指令是()。

A.STDB.STI

C.CLDD.CLI

14.執行下列指令序列后,正確的結果是()。

MOVAL,78H

MOVBL,58H

ADDAL,BL

DAA

A.AL=36HCF=1AF=1B.AL=36HCF=1AF=0

C.AL=36CF=IAF=0D.AL=C6HCF=1AF=1

15.對寄存器AX的內容乘以4的正確指令序列是()o

A.SHRAX,1B.SHLAX,1

SHRAX,1SHLAX,1

C.ROLAX,1D.RCRAX,1

ROLAX,1RCRAX,1

16.在卜.列指令的表示中,不正確的是()o

A.MOVAL,[BX+SI]B.JMPSHORTDONI

C.DEC|BX)D.MULCL

17.若AX=35OOH,CX=56B8H,當執行ANDAX,CX指令后,AX的值是()。

A.I400HB.77F8H

C.0000HD.OFFFFH

18.下面對偽指令語句的說明,正確的是(

A.由匯編程序在匯編過程中執行的指令是偽指令

B.當匯編結束后,目標程序中仍保留有偽指令

C.偽指令是程序運行階段完成其功能

D.匯編程序將偽指令翻譯成機器碼

19.用MOV指令將十進制數64以組合型BCD碼格式送入AX,正確使用的指令是()。

A.MOVAX,0604B.MOVAX,0064H

C.MOVAL,0604HD.MOVAL,0064

20.執行XLAT指令時,要將表的首地址和偏移地址分別存放的寄存器是()。

A.BX、ALB.AL、BX

C.AX、BLD.BL、AX

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

名詞解釋:請將1~3小題的敘述與下面的詞語聯系起來,括號內填入對應的A,B,Co

1.以后進先出方式工作的存儲空間是()。

2.告訴計算機要執行的操作(一般還要指出操作的地址),在程序運行時執行的是()o

3.保存邏輯段起始地址的寄存器,IBMPC機有四個:CS、DS、SS、ES是()。

詞語:A.段寄存器B.堆棧C.指令

4.假設(SS)=2250H,(SP)=0140H,如果在堆棧中存入5個數據,則堆棧的物理地址為。

5.指令MOVAX,VAR[BX]屬于尋址。

三、簡答題(每題2分,共6分)

1.下列語句在存儲器中分別為變量數據區分配多少個字節單元?

(1)VARIDD10

(2)VAR2DW4DUPC?),2

2.在指令系統中,段內、段間返回均為RET指令。試回答:

(1)執行段內返回RET指令時,執行的操作是。

(2)執行段間返回RET指令時,執行的操作是。

3.已知指令ARRAYDB2DUP(1DUP(3)),則:

指令MOVAX,LengthARRAY,執行后,AX=。

指令MOVAX,SIZEARRAY,執行后AX=。

四、程序分析題(每小題5分,共35分)

l.MOVAX,00FFH

ANDAX,0FFFH

ORAX,OFOFH

XORAX,OOFFH

問:上述程序段執行后,AL的內容是什么?

2.DATA1DB500DUP(?)

DATA2DB100DUP(?)

MOVCX,100

MOVBX,400

MOVSL0

MOVDL0

LOP:MOVAL,DATA1[BX][SI]

MOVDATA2[DI|,AL

INCSI

INCDI

LOOPLOP

問:上述程序段執行后完成的功能是什么?

3.MOVAX,0012H

MOVBX,0034H

MOVCL,8

ROLAX,CL

ORAX,BX

問:上述程序段執行后,AX寄存器的內容是什么?

4.已知I(AX)=0A5C6H,(CX)=0F03H,CF=1

RCLAX,CL

ANDAH,CH

RCRAX,CL

問:上述三條指令執行完后,(AX)=,CF=。

5.SUBAL,AH

DAS

若指令執行前,(AL)=86,(AH)=07;則指令執行后,(AL)=,CF=,

AF=o

6.ORG0050H

DAIDW56H,78H

DA2EQU$-DAI

DA3DB?

LEABX,DA3

MOVCX,DA2

MOVAX,DA2SHR1

問:(AX)=,(BX)=,(CX)=o

7.MOVAL,11H

XORAL,3

問:(1)上述程序段執行后完成什么功能?

(2)程序段執行后AL寄存器的內容是什么?

五、程序填空題(共12分)

1.設已定義數據區如下:

DATASEGMENT

DAXDBXXH

DAYDB?

DATAENDS

下列程序段完成功能:判斷變量DAX的值是否大于等于0。若大于等于0,則將DAY單元置

為0FFH;否則,將DAY單元的值置為00H。請在空白處填上適當的指令(每一空白處只填一條指

令)。

MOVAL,DAX

CMPAL,0

_(1)_

MOVAL,0

_(2)_

GRE:MOVAL,OFFH

LEE:MOVDAY,AL

2.為使DA2子單元的值為5()H,等號語句NUM的空白處應填多少?

ORG34H

NUM二

DAIDW10H,S+20H,30H,S+40H

DA2DWDA1+NUM+10H

六、編程題(共22分)

1.試編寫程序段:要求鍵盤輸入的小寫字母用大寫字母顯示出來(5分)。

2.假設數據區定義如下:

DATASEGMENT

ARRAYDB'THISISMASMPROGRAM',巧'

DATAENDS

編寫程序段,將以ARRAY為首地址的字符串顯示輸出(5分)。

3.假設在以ARRAY為首地址的存儲區中存放10個帶符號的字節數。試編制程序,統計出其

中不大于10的元素的個數(12分)。

模擬試卷三

,單項選擇題(每小題1分,共20分)

1.設段地址和偏移地址是2F4BH:00C7H,那么它所對應存儲單元中的物理地址是(

A.3F4B7HB.3F598H

C.3F577HD.3EB76H

2.在下列段寄存器中,堆棧段寄存器是()o

A.ESB.CS

C.DSD.SS

3.下列匯編語言指令中,正確的指令是()o

A.MOV[BX][BP],AXB.ANDDH,DL

C.ADD[SI],DA_BYTED.LEADS,40[SI]

4.下面指令執行后,變量DA_BYTE中的內容是()。

DA.WORDDWAC05H

DA_BYTEDB0FAH

MOVAL,BYTEPTRDA_WORD

SUBDA.BYTE,AL

A.OEAHB.OFAH

C.0F5D.OOH

5.設數據段中已有:

DAIDB12H,34H

DA2DW56H,78H

下面有語法錯誤的語句是()o

A.MOVDA1+2,AXB.ADRDWDAI

C.MOVBYTEPTRDA2+1,ALD.MOVWORDPTRDA1+1,AX

6.若(AX)=2000H,(BX)=0050H,(2(X)50H)=12H,(20051H)=34H,執行MOVAX,

[BX]指令后,AX寄存器中的內容是()o

A.(AX)=0050HB.(AX)=OOI2H

C.(AX)=1234HD.(AX)=3412H

7.在執行PUSH[BX]指令尋找目的操作數時,段地址和偏移地址分別是()。

A.無段地址和偏移地址B.在DS和BX中

C.在ES和BX中D.在SS和BP中

8.已定義DA_WORDDW50DUP(0),則指令MOVCX,SIZEDA_WORD匯編后的等效指

令是()。

A.MOVCX,50B.MOVCX,100

C.MOVCX,200D.MOVCX,IOODUP(O)

9.完成將帶符號數AX的內容除以2的正確指令是()。

A.RCRAX,1B.RORAX,1

C.SHRAX,1D.SARAX,1

10.設BL=40H,SI=0600H,DS=3000H,(30600H)=0C0H,CF=1。執行SBBBL,[SI]后,

正確的結果是()o

A.BL=5FH,SF=1,CF=1B.BL=60H,SF=1,CF=O

C.BL=5FH,SF=O,CF=1D.BL=60H,SF=O,CF=O

11.設SP=IFFD,卜.列指令執行后,SP寄存器的內容是()。

PUSHBX

POPF

A.1FFBB.1FFF

C.1FFDD.2000

12.下面指令執行后,改變AL寄存器內容的指令是()o

A.CMPAL,BLB.ORAL,AL

C.TESTAL,BLD.ANDAL,BL

13.INCBYTEPTR[BX]指令中的操作數的數據類型是(

A.雙字B.字

C.字節D.四字

14.用指令的助記符、符號地址、標號和偽指令、宏指令等書寫程序的語言稱為(

A.匯編語言B.高級語言

C.機器語言D.低級語言

15.完成將累加器AX清零,下列指令中錯誤的指令是()。

A.XORAX,AXB.SUBAX,AX

C.ANDAX,OOHD.ORAX,OOH

16.下面各組偽指令中,使用錯誤的是()o

A.STACK_SEGSEGMENT8TACK'

B.SEGMENT'CODE'

C.MA1N.PROCPROCFAR

MA1N.PROCNEDP

ENDMAIN.PROC

D.MYDATASEGMENT'DATA'

ENDS

17.在8086/8088系統中,存儲器是分段組織的,每段最大字節的長度是()。

A.8KB.16K

C.64KD.1M

18.設(AX)=0A8H,(CL)=3,CF=1,執行RCLAX,CL指令后,AX寄存器的內容是()。

A.0545HB.0544H

C.0547HD.00B5H

19.已知DS=2000H,BX=1000H,COUT=()020H,SI=6D50H,(21020)=l080H,(21022)=4000H,

則執行指令LDSSLCOUT[BX]后,SI、DS寄存器的內容分別是()。

A.SI=6D50H,DS=2(X)0HB.SI=1080H,DS=2000H

C.SI=1080H,DS=4000HD.SI=6D50H,DS=1080H

20.執行下列指令序列后,正確的結果是()。

MOVAL,81H

ADDAL,AL

SBBAL,AL

A.AL=0IHB.AL=10H

C.AL=00HD.AL=0FFH

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

名詞解釋:請將各小題的敘述與下面的詞語聯系起來,在括號內填上對應的A,B,C,D,Eo

1.保存當前棧頂地址的寄存器是()o

2.惟一代表存儲空間中每個字節單元的地址是()o

3.能被計算機直接識別的語言是()o

4.記錄指令操作結果的標志:OF、SF、ZF、AF、PF、CF是()?

5.由匯編程序在匯編過程中執行的指令是()o

詞語:A.狀態標志B.偽指令

C.物理地址D.SP

E.機器語言

三、簡答題(每小題2分,共6分)

1.已知在數據段中定義的數據如下:

NAMEDB'TOM'

DB20

DB,STRING'

請指出下列指令是否正確。若不正確,錯在哪里?

_(1)_

MOVAX,NAME

_⑵_

MOVBX,4x3

MOVSI,7

MOVAX,NAME[BX][SI]

2.下列兩條語句有何區別?

XEQUI000H

Y=1000H

3.有符號定義語句如下:

ARRAYIDB3,6,9,'123'

ARRAY2DB0

LEQUARRAY2-ARRAYI

問L的值是多少?

四、程序分析題(每小題5分,共35分)

1.設寄存器AL=45H,BL=76H,CL=85H

XORAL,OFH

ANDBL,OFH

ORCL,OFH

執行上述指令序列后,AL=,BL=,CL=o

2.下列語句執行后,AX寄存器的內容是多少?

ARRAYDW10,20,30,40,50

ENTRYDW3

MOVBX,OFFSETTABLE

ADDBX,ENTRY

MOVAX,[BX]

3.現有程序段如F:

MOVAX,01H

MOVBX,02H

MOVCX,03H

LOP:INCAX

ADDBX,AX

SHRAX,1

LOOPLOP

上述程序段執行后AX、BX寄存器的值分別是多少?

4.已知(SP)=2000H,(SS)=5000H,(52000H)=4500H,(DS)=4000H,(BX)=1200H,

則POP[BX]指令執行完后,(SP)=,(41200H)=(一個字的內容令

5.已知AL=35H,DL=29H

執行:

ADDAL,DL

DAA

上述程序段執行后,AL=,CF=o

6.設AX=6FF8H,CF=1

MOVDX,80

XORDH,OFFH

SBBAX,DX

上述程序段執行后,(AX)=,CF=o

7.設:

XORAX,0

MOVBX,1

MOVCX,10

LOP:ADDAL,BL

INCBL

INCBL

LOOPLOP

問:(1)該程序完成的功能是什么?

(2)程序執行后(AX)=o

五、程序填空題(每小題6分,共12分)

1.一知數據段定義如下:

DATASEGMENT

DAIDB12,34

DA2DB56,78

ADRRDWDA1,DA2

DATAENDS

為使ADDR+2字存儲單元中存放的內容為“0022H”,上述空格中應填寫什么語句?

2.卜列程序實現把20個字符“A”的字符串從原緩沖區傳送到目的緩沖區的功能。

試將程序中的空白處填上適當的指令(每一空只填一條指令)。

DATASEGMENT;definedatasegment

SOURCE_STRINGDB20DUP,A')

DATAENDS

EXTRASEGMENTidefineextrasegment

DEST_STRINGDB20DUP(?)

EXTRAENDS

CODESEGMENT;definecodesegment

ASSUMECS:CODE,DS:DATA,ES:EXTRA

START:MOVAX,DATA

MOVDS,AX

MOVAX,EXTRA

MOVES,AX

_(1)_

LEADI,DEST_STRING

CLD

MOVCX,20

_(2)_

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

六、編程題(共22分)

1.編寫程序段,將標志寄存器中的高8位和低8位互換。(5分)

2.數據區定義如下:

DATASEGMENT

ARRAYDB23H,24H,25H,26H

DISPDB30DUP(''),'$'

DATASEGMENT

編寫程序段,將此數據區復制10次,并將結果顯示出來。(5分)

3.數據區中首地址為ARRAY的N字數組,定義如下:

DATASEGMENT

ARRAYDW23,-20,130,-5,…,326,-2110;表示N個帶符號數

CUNTEQUS-ARRAY

RESUTDB?;存放正數的個數

DB?;存放'O'的個數

DB?;存放'負數’的個數

DATAENDS

試編寫?個程序,統計ARRAY數據區中正數、負數及“0”的個數,結果送入RESUT起始的

三個字節單元中(12分)。

模擬試卷四

一、單項選擇題(每小題1分,共20分)

1.在下述指令的表示中,不正確的是()。

A.PUSH54[DI]

B.MOVAX,[BX]NUM[Si]

C.MOVAX,[BX+BP+NUM]

D.ANDDH,DL

2.已知(AX)=875BH,執行下述三條指令后,(AX)=()。

MOVBX,AX

NEGBX

ADDAX,BX

A.875BHB.OEDCCH

C.6DCCHD.0000H

3.指令JMPFARPTRL0P1屬于()。

A.段內轉移直接尋址B.段內轉移間接尋址

C.段間轉移直接尋址D.段間轉移間接尋址

4.對兩個無符號數A、B進行比較時,采用JBE/JNA指令,轉移的條件是()。

A.CF=O或ZF=1B.CF=0或SF=1

C.CF=1或ZF=1D.ZF=O或SF=()

5.設SP初值為1000H,執行指令PUSHBX后,SP的值是()。

A.1002HB.0FF8H

C.FFFHD.OFFEH

6.設AH=1,AL=09H,BL=05H,執行指令:

ADDAL,BL

AAA

之后,其結果應是()o

A.AH=02,AL=04B.AH=1,AL=24

C.AH=0,AL=24HD.AH=0,AL=24

7.卜列指令執行時出錯的是()o

A.MOVDAI,DA2

B.JMPWORDPTR[BX]

C.MOVAX,|BX+DI]NUM

D.TESTAL,08H

8.計算機處理問題中會碰到大量的字符、符號,對此必須采用統一的編碼。目前,微機中普

遍采用的是()o

A.BCD碼B.二進制碼

C.ASCII碼D.卜六進制碼

9.設變量定義如下:DA_W0RDDW3,5AH,98,0B0H。指令ADDAL,TYPEDA_WORD

的等效指令是()。

A.ADDAL,1B.ADDAL,2

C.ADDAL,3D.ADDAL,4

10.從鍵盤輸入?個十進制數2002,將該數值以壓縮型BCD碼的存儲形式保存到存儲器中,

其存放的順序是()o

A.20,02B.02,20

C.32,30,30,32D.32,30,32,30

11.指令LESSI,ESJIOOOH]的功能是()。

A.將數據段偏移地址1000H送SI

B.將數據段偏移地址1000H字單元內容送SI,并且把下?個字單元內容送ES

C.將附加段中偏移地址為1000H字單元內容送SI,并且把它的下一個字單元內容送ES

D.將地址1000H字單元內容送DS,并且把它的下?個字單元內容送SI

12.CPU發出的訪問存儲器的地址是()o

A.物理地址B.偏移地址

C.邏輯地址D.段地址

13.下面語句中有語法錯誤的語句是()o

A.DB0ABH,12,3,5B.DW3ABCH

C.DW'ABCD'D.D'AB'

14.如AX=FFFFH

NEGAX

NEGAX

上述兩條指令執行后,AX的值為()o

A.0000HB.FFFFH

C.0F00HD.000IH

15.邏輯運算指令是按位進行運算的,指令執行后不保留運算結果,只對標志寄存器產生影響

的指令是()o

A.ANDB.XOR

C.ORD.TEST

16.在8086/8088系統中,一個字節的無符號數能表達的數值范圍是()。

A.0?7FHB.0-256

C.0-255D.0?128

17.設DS=3635H,DI=0083H,指令INCBYTEPTR[DI]操作數的物理地址是()。

A.36AD8HB.36353H

C.363D3HD.0A018H

18.執行下面指令序列后,結果是()o

MOVBL,91H

CBW

A.BX=0091HB.AX=0FF9IH

C.AX=0F91HD.1F91H

19.下列敘述正確的是()0

A.在運算過程中,只有補碼數相加才會影響OF標志位

B.在運算過程中,無符號數的運算不會產生溢出

C.在程序執行過程中,條件轉移指令的執行?定會影響到標志位

D.在程序執行過程中,執行DAA,DAS指令會影響到標志位

20.DATASEGMENT

ORG40H

DAIOFEH

DA2DW52ACH

DATAENDS

MOVAL,DAI

MOVBX,DA2

上述指令執行后,AL和BX的值為()。

A.AL=0FEH,BX=52ACHB.AL=0FEH,BX=0041H

C.AL=40H,BX=52ACHD.AL=40H,BX=0041H

二、填空題(本大題共5小題,每空1分,共5分)

名詞解釋:請將各小題的敘述與下面的詞語聯系起來,括號內填入對應的A,B,C,D,E。

1.指示下一條將要執行的指令的地址()o

2.存儲程序、數據等信息的裝置是()o

3.把匯編語言程序翻譯成機器語言的系統程序是()<>

4.分析、控制并執行指令的部件是()o

5.控制操作數的標志位(PC機有DF、ZF、TF)是()□

詞語?:A.控制標志B.CPU

C.IPD.存儲器

E.匯編程序

三、簡答題(本大題共3小題,每小題2分,共6分)

1.請指出下述兩條偽指令語句的區別。

COUNT1DW1234H

COUNT2DB12H,34H

2.分別指出下列指令中源操作數的尋址方式:

(1)ANDAX,OFFH

(2)MOVCX,COUT[SI]

(3)MOVAX,|DI]

(4)ADDAX,[BX][Di]

3.DA_BYTELABELBYE

DA.WORDDW20HDUP(?)

上面兩條指令分別執行后,各將該數組中的第幾個字節置0?

(1)MOVDA.WORD+2,0

(2)MOVDA_BYTE+2,0

四、程序分析題(本大題共7小題,每小題5分,共35分)

1.DATASEGMENT

DAIDW123H,456H,0AB00H

DA2DB12H,34H,56H,OABH

DB$-DA2

BUFDB10HDUP(1,2,3)

_(1)_

MOVBX,10006]

ANDBX,OFFH

ADDBX,|BX]

上述指令執行后,BX=o

_(2)_

MOVDX,SIZEBUF

ADDDX,DA2+4

上述指令執行后,DX=。

2.現有數據段如下:

DATASEGMENT

ARRAY1DB1,26,'3456'

ARRAY2DW7,89H,10

VALEQUARRAY2-ARRAY1

DATAENDS

試問:(1)該數據段已占有多少字節的存儲空間?

(2)VAL的值是多少?

3.有如下程序段:

DATASEGMENT

STRING1DB'COMPUTERSCIENCE'

STRING2DB20DUP(?)

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,ES:DATA

START:

CLD

MOVCX,16

LEASI,STRING1

LEADI,STRING2

REPMOVSB

CODEENDS

ENDSTART

試問:上述程序段執行后,完成什么功能?

4.有如下數據定義:

DAIDB4DUP(5),2

COUNTEQU10

DA2DDCOUNTDUP(?)

問:

(1)上述數據定義為變量DAI分配多少字節存儲空間。

(2)為變量DA2分配多少個字節存儲空間。

5.MOVCL,3

MOVBX,0A6H

ROLBX,I

RORBX,CL

上述程序段執行后,BX寄存器的內容是什么?

6.MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MOVCX,4

MULCX

INT20H

上述程序段執行后,(AX)=,(BX)=o

7.AX=0A0B5H

MOVBX,AX

NEGBX

ADDAX,BX

上述程序段執行后,(AX)=,(CF)=o

五、程序填空題(本大題共2小題,每小題6分,共12分)

1.下面程序段是根據DAY字節單元中的內容,從表WEEK中查出對應的星期?到星期日的

英文縮寫,并將其顯示輸出。試在空白處填上適當的指令(每一空白處只填一條指令)。

WEEKDB'MON','TUE','WED,'THU'

DB'FRI','SAT','SUN'

DAYDB?

XORBX,BX

MOVBL,DAY

_(1)_

MOVAL,BL

SALBL,1

_(2)_

MOVCX,3

LOP:MOVDL,WEEK[BX]

MOVAH,02H

1NT21H

_(3)_

LOOPLOP

2.以ARRAY為首址的數據區中依次存放20個數據al,a2,…,a20,每個數據占兩個字節,

下列程序段完成計算20個數據的和并把和存入SUM中。試在空白處填上適當的指令(每一空白處

只填一條指令)。

ARRAYDWal,a2,…,a20

SUMDW?

MOVAX,0

MOVBX,OFFSETBUF

_(i)_

LOP:ADDAX,[BX]

INCBX

INCBX

_(2)_

MOVSUM,AX

六、編程題(本大題共3小題,共22分)

1.試編寫一程序段,把DX:AX中的雙字右移4位。(5分)

2.完成將AX和BX中的兩個帶符號數相加,如果沒有溢出,轉移到OK處執行。試編寫一程

序段。(5分)

3.試編寫完整程序,將數據段中ARRAY1開始字節單元中的10個數字0,I,2,3,4,5,6,

7,8,9轉換成相應的ASCH碼送入以ASC開始的內存單元中。(12分)

模擬試卷五

一、單項選擇題(每小題1分,共20分)

1.指令ADDAX,[3500H]中,源操作數使用的尋址方式是()。

A.直接尋址B.寄存器尋址

C.寄存器相當尋址D.立即尋址

2.條件轉移指令JZ產生轉移的測試條件是()o

A.ZF=OB.ZF=1

C.ZF=1或CF=1D.ZF=O或CF=1

3.在字符串操作指令中,源串操作數放在的寄存器是()o

A.CSB.SS

C.DSD.ES

4.使用DOS系統功能調用終止當前程序并返回調用程序,應選用的指令是()。

A.MOVAH,01HB.MOVAH,OOH

INT21HINT21H

C.MOVAH,4CHD.RET

INT21HINT21H

5.下列指令中,有語法錯誤的指令是(

A.MOVCS,AXB.MOVBL,[BX]

C.MOVSS,[BP+DI]D.MOVES,AX

6.數據定義如下:

DA_BYTEDBOABH,?

DA_WORDDW?,?

下面語句中錯誤的語句是()o

A.ADDDA_BYTE+2,AX

B.ADDBYTEPTRDA.WORD+l,AL

C.ADDWORDPTRDA1+1,AX

D.ADRIDWDA.BYTEl

7.將CX寄存器清零,下面指令中錯誤的指令是()o

A.SUBCX,CXB.XORCX,CX

C.XORCX,OOHD.ANDCX,OOH

8.已知(AX)=11UH,執行下述三條指令后,(AX)的值是()o

MOVBX,AX

NEGBX

ADDAX,BX

A.1111B.2222

C.1110CHD.0000H

9.DADW'AB'在存儲器中的存儲順序是()o

A.41H,42HB.42H,41H

C.0041H,0042HD.0042H,0041H

10.假設數據段中數據定義如下:

DA_BYTEDB56

DA_WORDDW10DUP(?)

實現將DA_BYTE單元的內容與DA_WORD開始的第三個字節單元內容相減的指令是()。

A.SUBDA_BYTE,DA_WORDBYTEPTRDA_WORD+3

B.MOVAL,DA.BYTE

SUBAL,BYTEPTRDA.WORD+2

C.MOVAL,DA.BYTE

SUBAL,DA_WORD+2

D.MOVAL,DA_BYTE

SUBAL,DA_WORD+3

11.LOP:MOVDL,[SI]

MOV|DI),DL

INCSI

INCDI

LOOPLOP

與上述程序段完成同樣功能的一條指令是()。

A.REPLODSBB.REPMOVSB

C.REPSTOSBD.REPSCASB

12.下面數據定義偽指令中錯誤的語句是()。

A.DB'ABCD'B.DW0ABCDH

C.DW.ABCD'D.DW,AB'

13.DARIDB10H,20H,30H

DBS-DAR1

DAR2DB40H,50H,60H

MOVSI,OFFSETDARI

MOVCL,4[SI]

MOVCH,LENGTHADR2

上述指令序列運行后,CX的內容是()o

A.0103HB.0304H

C.0104HD.0140H

14.MOVAL,96H

MOVBL,12H

MULBL

執行上述指令后,結果是()0

A.AX=1152,OF=1,CF=1B.AX=0A8CH,OF=1,CF=1

C.AX=0A82H,OF=0,CF=1D.AX=F88CH,OF=1,CF=1

15.MOVBL,67

ADDBL,OBDH

上述指令執行后,相關標志的值為()。

A.CF=1,SF=O,ZF=1,OF=0B.CF=0,SF=1,ZF=0,OF=1

C.CF=1,SF=1,ZF=0,OF=0D.CF=0,SF=O,ZF=1,OF=0

16.下述指令中對標志寄存器PSW中標志位不產生影響的指令是()o

A.INCSIB.TESTAL,OFH

C.SARBL,1D.JMPLOP

17.宏指令語句本身不生成目標代碼,它僅表示宏調用出現的()o

A.說明符B.位置

C.代碼格式D.宏體

18.數據定義如下:

XIDB10H,50,1

X2DWI0H,20,3

X3DD?

COUNTEQUX3-X1

變量COUNT的值是()o

A.6B.8

C.9D.10

19.下列指令中,語法正確的指令是()o

A.ADD[BX],5

B.DEC|BX]

C.MOVBYTEPTR[BX],8

D.MOVAL,BX

20.已定義變量ADRDW200DUP(0),則指令MOVCX,LENGTHADR的等效指令是()。

A.MOVCX,100B.MOVCX,200

C.MOVCX,400D.MOVCX,100DUP(0)B

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

名詞解釋:請將卜3小題的敘述與下面的詞語聯系起來,在括號內填入對應的A、B或C。

1.邏輯段的起始地址是()o

2.相對于段起始地址的偏移量是()o

3.CPU發出的訪問存儲器的地址是()o

詞語:A.物理地址B.偏移地址C.段地址

4.若(SP)=0FFFEH,則指令POPAX執行后,(SP)二。

5.回送變量或標號的偏移地址值,應使用偽指令。

三、簡答題(每小題2分,共6分)

1.有符號定義語句如下:

DAWDW?

NAMEDB16DUP(?)

COUNTDD?

LENTHEQU$-DAW

試問LENTH的值為多少?

2.根據要求寫出匯編語言的指令。

(1)用寄存器BX和位移量0ABH的寄存器相對尋址方式,把存儲器中的一個字與CX寄存器

相加,并把結果送回存儲器單元中。

(2)把數OF9H與(AL)相加,結果送回AL中。

3.請指出下述兩條偽指令語句的區別:

COUNT1EQU16H

COUNT2=16H

四、程序分析題(每小題5分,共35分)

1.有如下程序段:

DAT1DB30DUP(?)

DAT2DB10DUP⑵

MOVCX,10

MOVBX,20

MOVSI,0

MOVDL0

NEXT:MOVAL,DAT1[BX][SI]

MOVDAT2[DI],AL

INCSI

INCDI

LOOPNEXT

試問:上述程序段完成什么功能?

2.有如卜.代碼段:

DATASEGMENT

ORG0I00H

DARDW0FF00H

(1)MOVAX,DAR

(2)MOVAX,OFFSETDAR

試問:(1)上述兩條指令有什么區別?

(2)指令分別執行后,AX寄存器的內容各是什么?

3.若(AX)=0A33AH,DX=0F0FH,

ANDAH,DL

XORAL,DH

NEGAH

NOTAL

上述程序段執行后,AX寄存器中的內容是多少?

4.設(AX)=0FC77H,(CX)=504H,CF=1

SARAX,CL

XCHGCH,CL

SHLAX,CL

上述程序段執行后,(AX)=,(CF)=o

5.有如下程序段:

DATASEGMENT

DAIDW?

DA2DW24

DA3DW340,60,50

DATAENDS

MOVBX,OFFSETDA3

MOVAX,[BX]

MOVDA2,AX

MOVAX,2[BX]

ADDAX,DA2

MOVDAI,AX

上述程序段執行后,DAI單元的內容是什么?

6.已知數據定義如下:

DAIDW1384H

DW2578H

DA2DW9087H

DW3456H

MOVDX,DA1+2

MOVAX,DAI

DIVDA2

請問上述程序段完成什么功能?

7.有如下程序段:

MOVAX,2

MOVBX,

溫馨提示

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

評論

0/150

提交評論