1712561
春芽
共回答了24个问题采纳率:83.3% 举报
14、CMP指令用法:CMP 被减数,减数。结果不保存,只对FR各状态标志位有影响。
OF含义:当溢出时,OF=1,否则为0。
SF含义:与结果第一位相同。即结果为正数时,0XXXXXXXB,SF=0;结果为负数时,1XXXXXXXB,SF=1。
当AL大于0、VAR大于0时,OF=0,SF=0;
当AL大于0、VAR小于0时,OF=1,SF=1;
当AL小于0、VAR小于0时,OF=0,SF=0。
故结果为OF=SF,选A。
15、TEST指令用法:TEST dest,src。将两个数进行与操作,对应位都是1时结果为1,否则为0。结果不保存,只对FR部分状态标志位有影响。
JE跳转成立条件:FR中ZF=1。
ZF(ZeroFlag)含义:当结果为0时,ZF=1,否则ZF为0。
55H=01010101B
故欲使结果为0,DL第0、2、4、6位须为0,选D。
顺便说下,二进制数位数分别为第76543210位。
16、DS×10H+DI=8225H×10H+3942H=82250H+3942H=85B92H,选A。
17、本题涉及到的状态标志位含义。
CF称为进位标志,它反映加法运算后的进位或减法运算后的借位状态。貌似没提到除法。
OF见14题解。除法似乎不会溢出。
SF见14题解。这个应该有影响。
ZF见15题解。这个应该有影响。
AF称为辅助进位标志,它反映运算时低4位向高4位(即D3位向D4位)是否有进位或借位。这个大概和CF是类似的。
PF称为奇偶校验,当运算结果的低8位中“1”的个数为偶数时,PF为1,否则为0。这个似乎有影响。
结果为B。
18、CBW指令是将(字节扩展至字),B=byte,W=word,这个指令将扩展al的符号位至ah中。
当MOV AL 82H指令结束后,AL中内容为10000010B。CBW指令将扩展AL中第七位1至整个AH中,那么扩展完成后AX为1111111110000010B,即0FF82H,故选A。
19、OFFSET伪指令含义:加在变量名或标号前面,将得到变量名或标号的偏移量。
LEA指令用法:LEA dest,src 将src这个内存操作数的偏移量传送到dest指定的寄存器中。
LDS/LES指令用法:LDS/LES dest,src 将src这个内存操作数指定的内存中连续四个字节单元内容的低16位存入dest指定的通用寄存器中,高16位存入DS/ES中。
故选D。
20、中断号放在AH中,参数放在AL中。选A。
21、SHR指令用法:SHR dest,1或SHR dest,CL,CL中存储移动位数。
SHR指令效果:0→dest→CF。
BX=0AA40H=1010101001000000B→0101010100100000B=5520H,选A。
22、四个选项的共同语句JZ MINUS的含义是当ZF=0时跳转到MINUS。
CX=-1=0FFFFH。
INC dest为dest加1指令,INC CX的结果为-1+1=0。
SUB dest,src为dest减src指令,并将结果保存在dest中。SUB CX,0FFFFH的结果为0,并将结果存在CX中。
AND dest,src为与指令,dest和src的对应位都是1时结果为1,否则为0,并将结果保存在dest中。AND CX,0FFFFH为1111111111111111B与1111111111111111B相与,结果为
1111111111111111B=0FFFFH=-1,并将结果存入CX。
XOR dest,src为异或指令,dest和src的对应位异时为1,否则为0,并将结果保存在dest中。XOR CX,0FFFFH为1111111111111111B与1111111111111111B异或,所有位均相同,结果
为0000000000000000B=0000H=0,并将结果存入CX。
故AND指令不能完成题目的要求,答案为C。
23、不知道是B还是D。
24、各数据定义伪指令含义
DB定义字节,每个表达式占1个字节存储空间。
DW定义字,每个表达式占2个字节存储空间。
DD定义双字,每个表达式占4个字节存储空间。
DQ定义四字,每个表达式占8个字节存储空间。
DT每个表达式占10个字节存储空间。
REAL4定义4字节实数,每个表达式占4字节存储空间。
REAL8定义8字节实数,每个表达式占8字节存储空间。
REAL10定义10字节实数,每个表达十占10字节存储空间。
A留空了10字节空间;B留空了2×2=4个字节空间;C留空了4个字节空间;D留空了8个字节空间。故选D。
25、MOV指令只是单纯的数据传送,不对FR产生影响,故不能作为条件指令,选D。
26、串传送和串比较指令都可以跨段操作,选B。
取指令只允许在CS(CodeSegment,代码段寄存器)里取;BP基址指针寄存器,是记述偏移量的,不能脱离本段;堆栈操作只能在SS(StackSegment,堆栈段寄存器)中进行。
27、AND、XOR指令含义见22题解,TEST指令含义见15题解,它们都不能保证BX结果为奇数。
OR指令为或操作,当对应位都是0时为0,否则为1,并将结果存到dest中。因为01H=00000001H,尾数为1,所以OR指令执行后BX尾数必然为1,BX必然为奇数。故答案为B。
28、05H=00000101B,0AH=00001010B。
AND、XOR指令含义见22题解,OR指令含义见27题解。
NOT dest为非指令,使dest各位求反,即1变0或0变1。
XOR CL,0FH为CL=05H=00000101B与0FH=00001111B进行异或操作,结果为00001010B=0AH,正确,选A。
NOT CL为对CL=05H=00000101B的各位进行求反操作,结果为11111010B=FAH。
OR CL,0AH为CL=05H=00000101B与0AH=00001010B进行或操作,结果为00001111B=0FH。
AND CL,0FH为CL=05H=00000101B与0FH=00001111B进行与操作,结果为00000101B=05H。其实,这条语句在实际中的应用是将高4位清0,低4位保留。
29、OR指令含义见27题解。
CMC指令含义为CF求反,即0变1或1变0。
RCL为带CF循环左移,见下图。
CF←dest
↓ ↑
→→→↑
下面逐条分析三条语句。
OR AX,3将AX=0BBCCH=1011101111001100B与3=0003H=0000000000000011B进行或操作,结果为1011101111001111B,存入AX中。
CMC将CF求反,CF原来是1,现在为0。
RCL AX,1结果为AX=0111011110011110B=779EH,CF=1。
故选B。
30、严格说来,A、B选项最后的等都必须去掉的。
A选项与B选项矛盾,其中A选项正确,B选项错误。正确说法:从第二个字符开始可以是大小写字母、数字、?、@或_。注意,这几个符号必须用半角,否则程序不认。
1年前
8