汇编的选择题,请问为什么,理由是

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:57:57
21.在下列指令中,隐含使用AL寄存器的指令有( D )条。
SCASB; XLAT; MOVSB; DAA; NOP; MUL BH;
A.1条 B.2条
C.4条 D.5条
22.执行下列3条指令后,AX寄存器中的内容是( C )
MOV AL,‘8’
ADD AL,‘9’
AAA
A.0017H B.0077H
C.0107H D.0071H
23.设某子程序使用的返回指令是RET 4,则返回地址为( C )
A.CALL指令下面第4条指令的地址
B.CALL指令下面第2条指令的地址
C.(SP+1)和(SP)中存放的地址
D.(SP+1)和(SP+4)中存放的地址
24.为了使下面的程序段能用来把DL中的二进制代码从高位到低位依次转换为ASCII码并存入DI设定的内存数据区,试问该程序段中NEXT处应填入的指令是(C )
MOV CX,8
NEXT:
MOV AL,DL
AND AL,1
ADD AL,30H
MOV [DI],AL
INC DI
LOOP NEXT
A.SHR DL,1 B.SHL DL,1
C.ROL DL,1 D.ROR DL,1
25.假设ES段中有一个字符串‘12FG3LM5C’,其名为ARRAY,下面程序段
CLD
LEA DI,ES:ARRAY
MOV AL,‘G’
MOV CX,9
REPNE SCASB
HLT
执行后,CX的值是( C )
A.9 B.5
C.4 D.0
26.根据下面的指令和伪指令序列,AX寄存器的内容是( D )
TAB DW 1,2,3,4,5,6
ENTRY EQU 3
MOV BX,OFFSET TAB
ADD BX,ENTRY
MOV AX,WORD PTR[BX]

21.在下列指令中,隐含使用AL寄存器的指令有( C )条。
SCASB功能是用(AL)-ES:[DI]
XLAT功能是(AL)<=((BX)+(AL))
DAA功能是对压缩BCD码相加后的和AL进行十进制调整
MUL BH功能是(AX)<=(AL)*(BH)
C.4条
22.执行下列3条指令后,AX寄存器中的内容是( B )
MOV AL,‘8’;(AL)=38H
ADD AL,‘9’;38H+39H=71H送AL
AAA;非压缩BCD码加法调整指令,即将71H调整为77H送给AX
B.0077H
23.设某子程序使用的返回指令是RET 4,则返回地址为( C )
C.(SP+1)和(SP)中存放的地址
解释:在恢复断点后又出栈两个字,即4个字节
24.为了使下面的程序段能用来把DL中的二进制代码从高位到低位依次转换为ASCII码并存入DI设定的内存数据区,试问该程序段中NEXT处应填入的指令是(C )
MOV CX,8
NEXT:
MOV AL,DL
AND AL,1
ADD AL,30H
MOV [DI],AL
INC DI
LOOP NEXT
C.ROL DL,1将每次的最高位移到最低位,保证每次输出的是原来的最高位
25.假设ES段中有一个字符串‘12FG3LM5C’,其名为ARRAY,下面程序段
CLD
LEA DI,ES:ARRAY;让DI指向ARRAY的每一个单元
MOV AL,‘G’;要查找的字符
MOV CX,9;共9个字符
REPNE SCASB;不相等时重复在ES:DI所指向单元中查找AL中的内容,然后调整DI,使得DI指向下一个单元,直到找到或CX减到0,此题在ARRAY第4个字符为'G',所以查找成功,此时CX表示未比较的个数5
HLT
执行后,CX的值是( B )
B.5
26.根据下面的指令和伪指令序列,AX寄存器的内容是