2012汇编语言试题B
一.单项选择题(每小题1分,共20分)
1.指令指针寄存器是( C )。
A)BP            B)SP            C)IP            D)PSW
2.DA1  DB  67H
NUM EQU 80H
则执行AND DA1,NUM语句后DA1中的内容是( D );
A)E7H            B)80H            C)67H            D)0
3.与指令MOV AX,NOT 0F0H等效的汇编语言指令是( B )。
A)MOV AX,0FH                B)MOV AX,0FF0FH
C)MOV AX,000FH                D)MOV AX,0F0H
4.一个有16个字的数据区,它的起始地址是70A0H:DDF6,则这个数据区最末一个字单元的物理地址是( C )。70A00+DDF6,总共32个字节,第1个字节的物理地址是7E7F6
第一个字的地址也是7E7F6,第2个字节的物理地址是7E7F7第二个字的物理地址,第最末一个字的物理地址就是第31个字节的物理地址 7E7F6+31=7E7F6+1F=7E815H
A)7E806H        B)7E814H        C)7E815H        D)7E80BH
5.可用作基址变址寻址或寄存器间接寻址的寄存器是( D )。
A)AX,BX,CX,DX            B)DS,ES,CS,SS
C)SP,BP,IP,BX                D)SI,DI,BP,BX
6.在串操作指令中,下列描述中不正确的是( C )。
A)REP  MOVSB                B)REP  STOSB
C)REPE  CMPSB                D)REP  LODSB
7. ORG  0030H
DA1  DB  0,‘0’,30H
偏移地址为0030H字存储单元的内容是( A )。
A)3000H        B)00H            C)0030H      D)3030H
8.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是( D )。
A)CMP            B)SUB            C)AND            D)MOV
9.将高级语言的程序翻译成机器码程序的实现程序是( A )。
A)编译程序        B)汇编程序        C)解释程序        D)目标程序
10.设DS=1E4AH,偏移地址为0056H,该字节的物理地址为( D )。
A)1E4A6H        B)1E456H        C)1E556H        D)1E4F6H
11.假设下列指令中所用的标识符类型均为字类型属性的变量,下述指令中正确的指令是( B )。
A)MOV  WORD-DA1, WORD-DA2
B)MOV  WORD-DA[BX+4*4][DI], SP
C)MOV  AX, WORD-DA[DX]
D)MOV  [BX][SI], 3
12.在程序顺序执行时,每取一条指令语句,IP指针增加的值是( D )。
A)1            B)2            C)3            D)由指令长度决定的
13.若AX=349DH,CX=0FH。则执行指令ADD AX,CX 后,AX的值是( B )。
A)349DCH        B)000DH        C)049DH        D)0240H
14.在下列四种描述中,不重复执行循环的是( C )。
  A)MOV  CX,0                B)MOV  CX,-1
LOP:LOOP  LOP              LOP:  LOOP  LOP
 
  C)MOV  CX,1                D)MOV  CX,2
LOP  LOOP  LOP              LOP  LOOP  LOP
15.若(AX)=2000H,(BX)=0050H,(20050H)=12H,(20051H)=34H,执行MOV  AX ,[BX]指令后,AX 寄存器中的内容的( D )。
A) (AX)=0050H            B) (AX)=0012H
C) (AX)=1234H            D) (AX)=3412H
16.设(AX)=0FC77H,(CX)=504H,CF=1,执行SAR  AX,CL指令后,AX的值是( C )。
A)FFC8H        B)FFC9H        C)FFC7H        D)FCC8H
17.假设字节单元(02398H)=12H,(02399H)=34H,(0239AH)=56H,则(02399H)字单元的内容是( C )。
A)3412H        B)3456H        C)5634H        D)1234H
18.INC WORD PTR [BX]指令中的操作数的数据类型是( A )。
A)字            B)双字            C)字节            D)四字
19.下列4条指令中,错误的指令是( B )。
A)SUB  CX,DX              B)MOV  AX,SS:[DX]
C)SHL  AX,1                D)ADD  AX,[BP+SI]
20.若AX=912DH,CX=OFH,执行指令OR  AX,CX后,AX的值是( B )。
A)000DH        B)912FH        C)912AH        D)002FH
二. 填空题(每空1分,共5分)
1.在8086/8088汇编语言中,串操作指令中搜索字符串指令的助记符是(  SCAS  );
2.当发生除法溢出时,OF=(  1  )。
3.指令JMP  WORD  PTR[BX] 属于(  段内间接转移  )寻址。
4.当源程序被汇编时,汇编程序对每个宏调用作(  宏展开  )。
5.DD伪指令中定义的每个操作数占有(  4  )个字节。
三.简答题(每小题2分,共6分)
1. ARRAY2  DB  10H,20H,30,40H
ARRAY3  DW  20H,DUP(0,1,2,DUP(2))
……..
MOV  BL,SIZE  ARRAY2
MOV  CL,SIZE  A RRAY3
上述两条指令的等效指令是什么?
答:
MOV  BL, 1
MOV  CL ,40H
2. 请指出下述两条伪指令语句的区别?
COUNT1  DB    48H
COUNT2  EQU  48H
答:
COUNT1 作为地址,在该字节的存储单元中存放数据48H; COUNT2作为符号名,数据48H直接赋值给COUNT2.
3. 请写出完成下列操作所选用的指令。
(1) 将AX的内容减去7A30H和上次运算的借位。
(2) 将变量名TABL的段地址送AX。
答:
(1)  SUB    AX, 7A30H
(2)  MOV    AX, SEG TABL
四、程序分析题(每小题5分,共35分)
1.
MOV    AH,1
INT    21H
汇编判断指令MOV    BL,AL
MOV    AH,1
INT    21H
ADD    AL,BL
AAA
上述程序完成的功能是什么?
答:
从键盘上输入两个一位数,然后相加,并把结果放在AHAL.
2、现有下列程序段:
MOV  AX,1234H
MOV  DX,4578H
MOV  CL,04
SHL    DX,CL
MOV    BL,AH
SHL    AX,CL
SHR    AX,CL
OR    DL,BL
试问上述程序段运行后,(AX)=(      ),(BL)= (      ),(DX)=(      )。
答:
(AX)=2340H
(BL)=01
(DX)=6780
3、假设数据区有:
DA1  DB  56H
DA2  DB  34H
DA3  DB  ?
DA4  DB  ?
(1)、下列程序段完成的功能的什么?
(2)、程序段执行后DA3、DA4字节单元的内容是什么?
MOV  AL,DA1
ADD  AL,DA2
JO    NEXT
MOV  DA3,AL
MOV  DA4,0
JMP    EXIT
NEXT:  MOV  DA4,1
EXIT:    HLT
答:
(1) 两个数相加,判断是否有溢出.
(2) (DA3)=8AH,  (DA4)=0
4、已知(AX)=4321H
INC  AX
NEC  AX
DEC  AX
NEG  AX
上述几条指令执行后,(AX)=(      )。
答:
(AX)=4323H
5、
MOV  AX,2
MOV  DX,AX
SAL    AX,1
SAL    AX,1
ADD    AX,DX
SAR    AX,1
问:
(1)、上述程段序段执行后完成什么功能?
(2)、程序段执行完成后AX寄存器的内容是多少?
答:
(1) 完成工作: (AX) *5/2
(2) (AX)=0005H
6、设(BX)=76D1H,指令:
MOV  CL,7
AHR  BX,CL
执行后,(BX)=(        )。
答:
(BX)=00EBH
7、
SUB  AL,AH
DAS
若指令执行前,(AL)=86H,(AH)=07;
问:上述指令执行后,(AL)=(    ),(CF)=(      ),(AF)=(      )。
答:
(AL)=79H,  (CF)=0,  (AF)=1
五、程序填空题(每小题6分,共12分)
1、以DA为起始地址的数组中存放的N个有符号数据,下面程序完成了出N个数中的最大和最小值分别送入AH和AL中。请将程序段补充完整(每一空白处只填一条指令)。
DA      DB  12,34,-24,6A,……,98    ;N个有符号数据。
CUNT  EQU  $ -DA
….
MOV    SI,  ADR
MOV    CX, CUNT
MOV    BH, [SI]
MOV    BL, BH
LOP1:  (              )
CMP    AL,BH
(            )
MOV    BH,AL
(              )
LOP2:  CMP  AL, BL
LGE    LOP3
MOV  BL,AL
LOP3:  DEC  CX
(              )
MOV  AX , BX
答:
  (1) LODSB
  (2) JLE  LOP2
  (3) JNZ  LOP1
2、下列程序段完成:2+4+……+20共10个偶数的累加和。请将程序段补充完整(每一空白处只填一条指令)。
DATA  SEGMENT
SUM    DW  ?
        XOR  AX, AX
        (           
        MOV  BX,  2
LOP1: ADD    AX,  BX
        INC        BX
        INC        BX
        (           

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。