(C)SBB TAB1[BX],AH (D)XOR AX,200H[BP]
16.如果(AL)=11000100B执行如下程序片段后,正确的执行结果为( B )
SHL AL,1
AND AL,0FH
RCL AL,1
(A)(AL)=00010000B,CF=1 (B)(AL)=00010000B,CF=0
(C)(AL)=00010001B,CF=0 (D)(AL)=00010001B,CF=1
17.如果(AL)=08H,(BL)=07H,执行如下程序片段后,正确的执行结果为以下哪一个(C )
ADD AL,BL
AAA
(A)(AL)=0FH,CF=0 (B)(AL)=0FH,CF=1
(C)(AL)=05H,CF=1 (D)(AL)=05H,CF=0
18.以下指令中,哪条指令访问了堆栈段?( C )
(A)AND CL,[DI] (B)MOV [BX][SI],46H
(C)SBB 0020H [BP][DI],AX (D)NEG ES:[100H]
19.若当前(AL)=28H,执行指令OR AL,80H后,SF标志位的取值为( B )
(A)0 (B)1 (C)2 (D)0A8H
20.如果(SP)=80H,执行指令CALL FAR PTR PROCD1后,(SP)=( D )
(A)80H (B)7EH (C)84H (D)7CH
二、多项选择题(本大题共5小题,每小题2分,共10分 )在每小题列出的五个备选项中有二个至五个是符合题
目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。
1.对于SAHF指令,以下哪些标志位是要被影响的( ABCDE )
(A)CF (B)OF (C)PF (D)ZF (E)SF
2.对于汇编语言中的子程序设计,下列描述正确的有哪些( ABCDE )
(A)子程序执行的最后一条指令一定是RET指令
(B)子程序可以通过堆栈取得入口参数,并且通常使用BP寄存器从堆栈中获取入口参数
(C)子程序可以通过寄存器取得入口参数
(D)子程序可以分为NEAR和FAR两种类型
(E)RET N (N为整数)这种返回指令格式通常用于清除主程序通过堆栈传递的入口参数
3.下面对8086/8088汇编语言中堆栈的描述,正确的有哪些( ACE )
(A)当使用PUSH、POP指令对堆栈进行操作时,遵循后进先出的原则
(B)执行PUSH指令时,SP寄存器的内容会被自动加2
(C)CALL指令与RET指令在执行时会自动改变SP寄存器的内容
(D)PUSH、POP指令的操作数可以以字为单位,也可以以字节为单位
(E)执行POPF指令时,SP寄存器的内容会被自动加2
4.如果当前(AL)=03H,有如下程序片段:
SHL AL,1
MOV BL,AL
MOV CL,2
SHL AL,CL
ADD AL,BL
执行该程序片段后,对执行结果的正确描述有哪些?( ABCE )
(A)(AL)=1EH (B)(BL)=06H (C)(CL)=02H
(D)CF=1 (E)PF=1
5.如果在源程序中定义了一个变量VA1,下列指令中,哪些指令一定能够获取该变量的偏移量并保存到SI寄存器中( CE )