微机系统与汇编语言复习.docx

上传人:b****5 文档编号:3624737 上传时间:2022-11-24 格式:DOCX 页数:15 大小:22.50KB
下载 相关 举报
微机系统与汇编语言复习.docx_第1页
第1页 / 共15页
微机系统与汇编语言复习.docx_第2页
第2页 / 共15页
微机系统与汇编语言复习.docx_第3页
第3页 / 共15页
微机系统与汇编语言复习.docx_第4页
第4页 / 共15页
微机系统与汇编语言复习.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

微机系统与汇编语言复习.docx

《微机系统与汇编语言复习.docx》由会员分享,可在线阅读,更多相关《微机系统与汇编语言复习.docx(15页珍藏版)》请在冰豆网上搜索。

微机系统与汇编语言复习.docx

微机系统与汇编语言复习

微机系统与汇编语言

简答题

1.设A=186,B=273Q,C=0BBH,它们之间的关系是()

A.A>B>CB.A

C.A=B=CD.A

2.8086/8088的存贮器组织是将存储器划分为段,可作为段的起始地址是()

A.185A2HB.00020H

C.01004HD.0AB568H

3.设VARl和VAR2是已定义的变量名,非法的表达式是()

A.VARl-VAR2B.VAR2-VARl[BX]

C.VARl+VAR2D.VARl[BX]

4.设NUM=11011011B,指令MOVAX,NUMSHL3执行后AX中的值是()

A.11011011000BB.1l011000B

C.00011011BD.00011011011B

5.若AX=-15要得到AX=15应执行的指令是()

A.NEGAXB.NOTAX

C.INCAXD.DECAX

6.设(SS)=338AH,(SP)=450H,执行PUSHBX,和PUSHF两条指令后,堆栈顶部的物理地址是()

A.33CECHB.33CF2H

C.33CF4HD.33CE8H

7.用一条指令实现将寄存器BX和SI中的内容相加,结果送入AX中,这条指令是()

A.ADDAX,[SI][BX]B.MOVAX,[BX+SI]

C.ANDAX,[BX+SI]D.LEAAX,[BX][SI]

8.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是()

A.DIVBXB.CWD

IDIVBX

C.XORDX,DXD.CBW

DIVBXIDIVBX

9.下列有语法错误的语句是()

A.DB1234HB.DW4567H

C.DD′AB′,′CD′D.DB′ABCD′

10.某存储单元的段地址是0AB90H,偏移地址是1234H,该存储单元的物理地址是(   )

A.0BDC4HB.0ACB34H

C.0AD134HD.1CED0H

11.要使BL中的低四位变反,高四位不变,应执行指令(   )

A.NOTBLB.ORBL,0FH

C.ANDBL,0FHD.XORBL,0FH

12.设(AL)=07H,要使(AL)=-07H应执行的指令是(   )

A.ORAL,80HB.NOTAL

C.NEGALD.ADDAL,80H

13.下述指令执行后,AL的值是(   )

MOVAL,-1

NEGAL

XORAL,65

A.01HB.40H

C.61HD.64H

14.某存储单元的物理地址是12345H,可以作为它的段地址有(   )

A.2345HB.12345H

C.12340HD.1234H

15.设CL=8,AL=0C8H,执行SARAL,CL后,AL中的数据是(   )

A.0FFHB.80H

C.00HD.0FEH

16.已知BX=028AH,SI=0294H,(DS:

051EH)=5432H。

执行语句LEABX,[BX+SI]后,BX中的内容是(   )

A.051EHB.5423H

C.1E05HD.3254H

17.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是()。

A.2025∶0F2AB.2108∶00EA

C.2000∶017AD.2100∶117A

18.已知SP=2110H,执行POPAX后,SP寄存器的值是()。

A.2111HB.2112H

C.210FHD.210EH

19.有数据定义语句BUFDW0ABH,1,10DUP(3DUP(1,0),2)汇编后,为变量BUF分配的存储单元字节数是()。

A.48HB.90H

C.120D.60

20.设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。

如从地址21001H中取出一个字的内容是()

A.2030HB.3040H

C.3020HD.4030H

21.设SP的初值为1000H,执行指令PUSHAX后SP的值是()

A.0FFFHB.1001H

C.0FFEHD.1002H

22.下述指令语句执行后AX中的内容是()

ORG200H

BUFDB12H,34H

MOVAX,WORDPTRBUF

A.3412HB.1234H

C.0200HD.0012H

23.伪指令DA1DB04HDUP(3DUP

(2),2DUP(3))在数据区中能构成0203H操作数共有

()

A.07个B.04个

C.03个D.02个

24.设NUM1EQU100,NUM2=64H,下面指令执行后,使BL中为全1的指令是()

A.MOVBL,NUM1EQNUM2

B.MOVBL,NUM1LTNUM2

C.MOVBL,NUM1NENUM2

D.MOVBL,NUM1GTNUM2

25.设非压缩BCD码(AL)=09H,(BL)=04H在执行SUBAL,BL指令后应选的校正指令是

()

A.DAAB.AAS

C.DASD.AAA

26.假设存储器中从7462H单元开始的四个相邻字节单元中的内容依次是32H,46H,52H,OFEH,则存放字数据OFE52H的字地址是(   )

A.7462HB.7463H

C.7464HD.7465H

27.设BX=1234H,DS=2000H,(21234H)=5678H,则指令“LEASI,[BX]”执行后的结果是

(   )

A.SI=5678HB.SI=1234H

C.SI=2000HD.SI=3234H

28.有数据定义LISTDB45H,36H,18H,76H,执行MOVAX,WORDPTRLIST+2,则AX=()。

A.3600HB.0036H

C.1876HD.7618H

29.已知AX=0139H,BL=36H,执行下列指令序列,则AX=()。

ADDAL,BL

AAA

A.016FHB.0175H

C.0205HD.0115H

30.将AX中有符号数除以4的正确指令序列是()。

A.SHRAX,1B.SARAX,1

SHRAX,1SARAX,1

C.IDIV4D.DIV4

31.下面指令执行后,AX的内容是()

DB1DB8DUP(2DUP(3),3DUP

(2))

MOVAX,WORDPTRDB1[04H]

A.0302HB.0203H

C.0202HD.0303H

32.符号COUNT等价的值是()

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

COUNTEQU$-BUF1

A.6B.18

C.16D.8

33.设DL=55H,执行指令后能使DL中的数据为OAAH的指令是()

A.TESTDL,0AAHB.ORDL,0AAH

C.NEGDLD.XORDL,0FFH

34.下述定义的数据单元中,能构成0303H字存储单元的个数是()

DW10HDUP(2DUP(3),300H)

A.10HB.20H

C.1EHD.OFH

35.设变量ARRAY的偏移量是0084H,下述指令执行后AX中的内容是()

ARRAYDW6,9,$+4,10H,1,$+4

MOVAX,ARRAY+4

A.0009B.008CH

C.0090HD.0010H

36.若AX=3500H,CX=56B8H,当ANDAX,CX指令执行后,AX=()

A.1400HB.77F8H

C.0000HD.0FFFFH

37.要在程序中定义缓冲区BUF,保留9个字节存储空间的语句是()

A.BUFDW9B.BUFDB9

C.BUFDB9DUP(?

)D.BUFDW9DUP(?

38.在执行子程序段内调用CALLSUBR指令后,SP的值()

A.加1B.减1

C.加2D.减2

39.定义宏指令的伪指令是()

A.PROC和ENDPB.CODE和ENDS

C.EQU和ENDD.MACRO和ENDM

40.有数据定义NUMDB'12345',经汇编后,NUM占有()字节存储单元。

A.1B.5

C.6D.7

41.汇编语言源程序每个语句可以由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是()

A.名字项B.操作项

C.操作数项D.注释项

42.数据段

.data

No1dw12

No2db20dup(30)

No3dd34

No4equ$-No1

No4的值是

A.56B.78

C.1AHD.27

43.数据定义

arraydw20dup(55)

moval,lengtharray

movah,sizearray

ax的值是()

A.4020B.4020H

C.2814D.2814H

44.数据定义

.radix9

moval,15

movah,7d

ax的值是()

A.070EHB.7d15H

C.7d0ED.0714

操作题

1、数据定义如下,填写对应的值

org100h

arraydw10,$+1,35,$-2

地址

值(16进制)

100H

101H

102H

103H

104H

105H

106H

107H

2、有两个16位数1000H和ABCDH分别存放在内存10000H和10004H单元中,试用图表示他们在内存中的存放情况。

3.若在内存中建立50个字的数据区,其起始地址为1000:

0100,试给出数据区第一个字单元和最后一个字单元的物理地址。

4、如TABLE为数据段中0032单元的符号名,其中存放的内容是1234H,试问以下两条指令有什么区别?

指令执行完后BX寄存器的内容是什么?

(1)MOVBX,TABLE

(2)LEABX,TABLE

5、已知AX=1234H,CX=0302H,CF=0,指出下述指令执行后的结果及标志位CF、SF、ZF、OF的值分别是多?

6、在0624H单元内有一条二字节JMPSHORTOBJ指令,如其中位移量为

(1)27H,

(2)6BH,(3)0C6H,试问转向地址OBJ的值是多少?

7、求出15F4H减去4EA0H之差,并根据结果设置标志位SF、ZF、CF和OF的值。

填空

1、设某数据段:

DATASEGMENT

ORG20H

NUM1=8

NUM2=NUM1+10H

DA1DB‘COMPUTER’

DB0AH,0DH

COUNTEQU$-DA1

DA2DW‘CO’,’MP’,’UT’,’ER’

DATAENDS

试回答:

1)DA1的偏移地址是多少?

2)COUNT的值是多少?

3)DA2+5字节单元的内容是多少?

2、DA_BDB0CH,9,8,0FH,0EH,0AH,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=_____,AL=_____。

如果把”JENEXT“指令改为“JNENEXT“指令,那么AH=_____,AL=_____。

3、BLOCK DB 20,1FH,08H,81H,0FFH…

 RESULTDB  ?

  ┇

START:

LEA  SI,BLOCK

   MOV  CX,[SI]

   INC  SI

   MOV  AL,[SI]

LOP1:

CMP  AL,[SI+1]

   JNG  NEXT

   MOV  AL,[SI+1]

NEXT:

INC SI

   LOOP LOP1

   MOV  RESULT,AL

   HLT

问:

(1)该程序完成的功能是;

(2)该程序的循环次数是。

4、DATA中存放了一组无符号数据,下面程序的功能将该数据中所有比50大的数据累加起来,然后求其平均值,并送入avg单元。

试在程序中填补上空缺的指令。

数据段定义

DATADB60,70,28,9,10,25,…,97

AVGDB?

;程序段

.code

………………

___________;将数据个数赋值给CX

XORAX,AX

XORDX,DX

XORSI,SI

MOVBL,0

L1:

MOVDL,DATA[SI]

CMPDL,50

_______________;小于50,不累计

ADDAX,DX

INCBL

L2:

INCSI

LOOPL1

_______________;计算平均值

MOVAVG,AL

…….

5、程序段执行前,

(ss)=0F0A0H,(sp)=000AH

movax,8057h

pushax

movax,0f79bH

pushax

画出第二条mov指令执行前后的堆栈的变化示意图,要求标识出具体的地址空间变化和对应的值

Ss

Sp

物理地址

执行…

0F0A0

000A

0F0A0A

-

起始状态

6、设字符串的段地址、偏移地址和长度已经分别存于DS、SI和CX中,要统计其中非字符P的个数,并存于BL中。

7、在以ARRAY为首地址的数据区存放了一组带符号数,下面程序的功能将该数据中所有的负数送入ARRAY1数据区,其余送入ARRAY2中。

试在程序中填补上空缺的指令

ARRAYDB25,63,-103,2,75,75,-1,-65,…,100

NEQU$-ARRAY

ARRAY1DBNDUP(?

ARRAY2DBNDUP(?

……

MOVCX,N

MOVBX,0

MOVSI,0

MOVDI,0

LOP:

MOVAL,ARRAY[BX]

CMPAL,0

——————————

MOVARRAY1[SI],AL

INCSI

JMPNEXT2

NEXT1:

——————————————————

INCDI

NEXT2:

INCBX

LOOPLOP

程序

1、宏定义

powerMACROX,N

SALX,1

COUNT=COUNT+1

IFCOUNT-N

POWERX,N

ENDIF

ENDM

写程序使用这个宏完成计算SUM=NUM*2^EX,参数已经存储在数据段。

2、写一段子程序Trim,完成将一个字符串中的空格去除;字符串的地址作为参数传递,字符串的结束符0

3、从外部输入的一行数据放在str中;统计数据中的字母、数字和其他字符数,放在对应的变量中。

数据定义

.data

strdb50,?

50dup(0)

alphadb?

;字母数

digitdb?

;数字数

otherdb?

;其他字符数

画出程序设计的流程图;写程序。

4、试编制一程序,统计DA_WORD数据区中正数,0,负数的个数.数据区为:

DATASEGMENT

DA_WORDDW-1,3,5,0,-5,-7,-4,0,-7,……

COUT1DB$-DA_WORD

COUT2DB0;存放正数的个数

DB0;存放0的个数

DB0;存放负数的个数

DATAENDS

5、试设计程序求出下列数组元素中的最大值和最小值。

设数据段为:

DATASEGMENT

ARRAYDW-3,0,20,900,587,-623,777,234,-34,-56

COUNTDB$-ARRAY

MAXAYDW?

;存放最大值

MINAYDW?

;存放最小值

绘制程序的流程图,写出这个程序

 

程序分析

1、寄存器

(SP)=80H

(BX)=0FFH

(AX)=1

程序段

PUSHBX

ADDBX,AX

XORBX,AX

PUSHBX

POPCX

…..

上述程序段运行后

(SP)=_____________

(CX)=_____________

2、数据定义

DA1DB12H

DA2DB22H

RESDB?

MOVAL,DA1

CMPAL,DA2

JAEL1

MOVRES,0

JMPNEXT

L1:

MOVRES,0FFH

NEXT:

………

上述程序段运行后

(RES)=_______________

Zf=_____________

3、程序段

MOVDL,0F0H

MOVDH,64H

CALLSS1

DECDH

;过程定义

SS1PROC

ANDDL,DH

INCDL

RET

SS1ENDP

上述程序段运行后,(DL)=____________________

(DH)=_____________________

4、数据定义

DA3DB82H,76H,56H,0ADH,7H

;程序段

MOVCX,WORDPTRDA3

ANDCX,0FH

MOVAL,DA3+3

SHLAL,CL

上述程序段运行后

(AL)=______________________

(CX)=________________________

5、程序分析题

MOVAX,1234H

MOVBX,AX

NEGBX

ADDAX,BX

请写出以上程序段执行后,(AX)=?

,(BX)=?

,CF=?

6、阅读以下程序代码,分析:

XORDL,DL

A:

CMPAX,0

JZBYE

SHLAX,1

JNCB

INCDL

B:

JMPA

BYE:

……

试说明该程序段完成的功能。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1