一、单项选择题(本大题共20小题,每小题
1分,共20分)
1.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,
它们之间的关系是( )
A. C+D=BB.
A+D=BC. B=DD. A>C>D
2.标志寄存器中属于控制标志位的是
( )
A.DF,OF,SF
B.DF,
IF,TF
C.OF,CF,PFD.AF,
OF,SF
3.8088/8086存储器分段,每个段不超过
( )
A.64K个字
B.32K
个字节C.1兆个字节D.64K
个字节
4.设AL中已有压缩型BCD码,为实现对
AL的减1操作,可选用的指令序列是(
)
A.DEC ALB.SBB AL,0 AAS DAS
C.SUB AL,1D.SUB AL,1 AAS DAS
5.要输入端口1234H中的8位数据,其指
令应是( )
A.MOV DX,1234H
B.MOV
DX,1234H
OUT DX,AL 1N
AL,DX
C.1N AX,1234HD.OUT
DX,1234H
6.若AX=-15要得到AX=15应执行的指令
是( )
A.NEG AX
B.NOT AXC.INC AXD.DEC AX
7.8086/8088系统执行传送指令MOV时
(
)
A.不影响标志位B.影响DF方向标志C.影响SF符号标志D.影响
CF进位标志8.MOV AL,79ADD AL,0B1H
上面指令执行后,设置的标志位CF和OF的值是( )
A.CF=0,OF=1B.CF=1,
OF=1
C.CF=0,OF=0D.CF=1,
OF=0
9.已知AX,BX中均为带符号数,当进行
字相除时,下面指令或指令序列正确的是( )
A.DIV BXB.CWD
IDIV BXC.XOR DX,DXD.CBWDIV BX
IDIV
BX
10.下列指令中操作数在代码段中的是
( )
A.MOV AL,42H
B.ADD AL,BL
C.SUB [BX],DID.1NC [DI]
11.用REPE SCASB指令对字符串进行扫
描,如CX?0时,扫描结束,那么表示(
)
A.在字符串中遇上第一个AL中指定的字符
B.在字符串中有一个AL中指定的字符C.在字符串中有一个不是AL中指定的字符
D.在字符串中遇上第一个不是AL中指令的字符
12.下列指令执行后对源和目的操作数均无
影响的是( )
A.MOV [BX+2],AX
B.SUB
AX,2467HC.SBB [SI],BXD.CMP
AX,BX
13.表示过程定义结束的伪指令是
( )
A.ENDPB.ENDSC.ENDD.ENDM
14.下列有语法错误的语句是( )A.DB 12HB.DW
4567H
C.DD ˋBCDˊD.DB ˋCDˊ
15.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))
┇ MOV AX,WORD PTR DB1
[04H]
上面指令执行后,AX的内容是(
)
A.0302HB.0203HC.0202HD.0303H
16.BUF1 DB 3 DUP(0,2 DUP (1,2),
3)
COUNT EQU $ -BUF1符号COUNT等价的值是( )
A.6B.18C.16
D.8
17.DA1 DW 2A05H
DA2 DB 0FAH
┇
MOV AL,BYTE PTR DA1SUB DA2,AL
上述指令执行后,DA2中的内容是( )
A.0DAH
B.0FAHC.0F5H
D.0D0H
18.设(SS)=338AH,(SP)=450H,执行
PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是( )
A.33CECHB.33CF2HC.33CF4HD.33CE8H
19.设(SP)=0028H,执行段内返回指令RET
6后,SP的内容是( )
A.0036HB.0022HC.0030HD.0020H
20.条件转移指令JNBE产生转移的条件是
(
)
A. CF=0 AND ZF=0B. CF=0 AND ZF=1C. CF=1 AND ZF=0D.
CF=1 AND ZF=1
21.与MOV BX,0FFSET VAR指令完全等效的
指令是( )。
①MOV BX,VAR ②LDS BX,VAR
③LES BX,VAR ④LEA BX,VAR22.在段定义时,如果定位类型用户未选择,
就表示是隐含类型,其隐含类型是( ).
①WORD ②PAGE ③
BYTE ④PARA
23.在汇编语言程序的开发过程中使用宏功
能的顺序是( )。 ①
宏
定
义
,
宏
调
用
②宏定义,宏展开
③宏定义,宏调用,宏展开
④宏定义,宏展开,宏调用
24.汇编语言源程序中,每个语句由四项组
成,如语句要完成一定功能,那么该语句中不可省 略的项是( )。
①名字项 ②操作项
③操作数项 ④注释项13. MOV SP,3210H PUSH AX
4. DATA SEGMENT S9 DB 0,1,2,3,4,5,6,7,8,9( )。
DATA ENDS
①3211H ②320EH
:
③320FH ④3212H
LEA SI,S9
25.BUF DW 10H DUP(3 DUP(2,
LEA, DI,S9+1
10H),3,5)
MOV CX,5
上述语句汇编后,为变量BUF分配的存储LOP: MOV AL,[SI]
单元字节数是( )。 XCHC AL,[DI] ①80H ②100H ③124 MOV [SI],AL
执行上述指令序列后,SP寄存器的值是
④192二、简答题(本大题共3小题,每小题2分,
共6分)
1.假设DS=2000H,COUNT=0100H,
SI=0030H,指令MOV AX,
COUNT[ST]
①写出源操作数的物理地址?
②该指令可否写成MOV AX,
[COUNT+SI]?2.下面指令有无错误?若有错,是什么错误?①MOV AX,[SI][DI]②CMP [SI],[BX]
3.条件转移指令的判断条件除标志位PF外
还有哪几个标志位?
三、程序分析题(每小题6分,共36分)
l.已知 AX=0FF60H,CF=1
MOV DX,96
XOR DH,0FFH
SBB AX,DX 执行上述指令序列后,AX= ,CF= 2.设寄存器AL,BL,CL中内容均为76H,
XOR AL,0FH
AND BL,0FH
OR CL,0FH
执行上述指令序列后,AL= BL=
CL=
3.已知AX=0A33AH,DX=0F0F0H
AND AH,DL
XOR AL,DH
NEC AH NOT AL执行上述指令序列后,AH= ,AL=
ADD SI,2
ADD DI,2 LOOP LOP上述程序段运行后,S9开始的10个字节存储单元内容是什么?5. MOV AL,38H
MOV BL,49H
CALL SUB0
INC AL
DEC CL ......... SUB0 PROC
ADD AL,BL
MOV CL,AL DAA RETSUB0 ENDP上述程序段运行后,AL= CL= 6.ADR DW 1234H,5678H┇LEA SI,ADRLDS BX,ADR设变量ADR的偏移地址是100H,上述
两条指令执行后:SI= ,
BX= 。
7.已知DS和ES指向同一个段,且当前数
据段从0000H到00FFH单元内容分别为01,02,03,…,0FF,00H。问下列程序段执行后,0000~0009H的内容是些什么值。MOV SI,0000HMOV DI,0001HMOV CX,0080HCLD
REP MOVSW
8.STR1 DB ˋCOMPUTERNDPASCALˊ
SCA DB ˋNˊ
┇
LEA DI,STR1MOV AL,SCAMOV CX,10HCLD
REPNE SCASBNEXT:……
程序运行到NEXT时CX= ZF=
9.已知AX=0FFFFH,DX=0001H
MOV CX,2LOP:SHL AX,1
RCL DX,1LOOP LOP
上述程序段执行后,DX= AX=
10.已知DX=0A476H,CX=0302H,CF=1
OR DX,DXRCR DX,CLXCHG CH,CLRCL DX,CL
上述程序段执行后,DX= CF= 11.MOV AX,10
SHL AX,1SHL AX,1MOV BX,AXMOV CL,2SHL AX,CLADD AX,BX
上述程序段执行后,BX= AX= 12.已知AX=78H,BX=0804H
SHR BX,1AND BX,0F0FHMOV CX,4LOP:XCHG BH,BL
DIV BLSAL AX,1LOOP LOP
上述程序段执行后,AX= BX= 四.改错. 阅读下列数据传送程序段,改正使用不当的语句
A DB 35,47,2AH,'XYZ' B DB N DUP(0) N EQU $-A MOV SI, A MOV DI, B MOV CX, LENGTH ALP: MOV AX, [SI] MOV [DI], AX INC SI INC DI DEC CX LOOP LP
五.程序填空题(每空3分,共18分)
1.下面是程序段是判断寄存器AH和AL中第3位是否相同,如相同,AH置0,否则AH置全1.试把空白处填上适当指令. AND AH , 08H
MOV AH , 0FFH JMP NEXT ZERO: MOV AH, 0 NEXT : ........
2.有一个首址为A的字数组,完成从大到小的排序.
DATAREA SEGMENT A DW N DUP(?)DATAREA ENDS
PROGRAM SEGMENT MAIN PROC FAR START : PUSH DS SUB AX, AX PUSH AX MOV DS ,AX MOV CX , N LOOP1: MOV DI ,CX MOV BX ,0
LOOP2: MOV AX ,A[BX] CMP JGE CONTINE XCHG AX , MOV A[BX] , AXCONTINE: ADD BX
LOOP LOOP2 TEST BX,8000H ② LOOP LOOP1
RET
MAIN ENDP
END START
3.该程序段的功能是求出存放在DX、AX中
的双精度数的绝对值,并将结果保存在A
和A+2单元中,请在空白处填写指令。
[1]
JNS RESULT
NOT AX
NOT DX
INC AX
[2]
RESULT:
MOV A , AX
MOV A+2 , DX
4. 下面程序执行后,AL的内容为ARRAY数组中的最小数,请在空白处各填上一条指令。ARRAY DB 3,5,-3,-2,4,5,
-8,6
┇
MOV CX,7
MOV DI,0
MOV AL,ARRAY
A1:INC DI
①JLE A2
MOV AL,ARRAY [DI]
A2
②
5.下面程序段是判断两个存储单元是否同
为正数,如是,则AX置全0,否则AX置非0。试在空白处各填上适当的一条条件转移指令(两空白处要利用不同的标志位选用不同的条件转移指令)。VAR1 DW ××××VAR2 DW ××××
┇
MOV AX,VAR1MOV BX,VAR2XOR AX,BX①
MOV AX,0
NEXT:……
6.以BUFF为首地址的字节单元中,存放了
COUNT个无符号数,下面程序段是找出其
中最大数并送入MAX单元中.
BUF DB
5,6,7,58H,62,45H,127,.......
COUNT EQU $-BUF
MAX DB ?
.
.
MOV
BX ,OFFSET BUF
MOV
CX ,COUNT -1
MOV
AL ,[BX]
NXET: INC CX
JAE NEXT MOV AL, [BX] NEXT: DEC CX MOV MAX ,
AL
六、编制程序题(第1小题8分共16分)
l.现有 data segment
array dw 64 dup(?) dw 5 dup(?)
data ends
试编写一程序段,要求在array+8到array+10(两者都包括在内)单元中插入5个0.(提示:先把从array+8单元开始的数据后移5个单元,然后再在规定位置插入0)
2.从键盘上输入来宾的姓名Mr.×××或Mrs.×××,当按动任意键时,屏幕上显示出:
\Mr.×××\
3.定义宏指令并展开宏调用:宏指令JOE把一串信息“MESSAGE NO.K”存入数据区XK中.宏调用I=0 JOE TEXT , I JOE TEXT ,I
相关推荐: