一、单选题
1题(1分)      你的得分:1
    SS=3800HSP=0100HAX=905BH,执行指令PUSH AX后存放数据5BH的物理地址是【1】。
    A. 380FEH        B. 380FFH        C. 38101H        D. 38102H
题目答案:A
你的答案:A
题目分析:
    执行指令PUSH AX应先使SP-2SP,然后把AX的内容存放入(SP)及(SP+1)单元。
SP' 00FEH 5BH
      00FFH 90H
SP 0100H
    所以,存放5BH的单元物理地址为38000H+00FEH=380FEH
2题(1分)      你的得分:1
    SS=3800HSP=0100HAX=905BH,执行指令PUSH AX后存放数据90H的物理地址是【2】。
    A. 380FEH        B. 380FFH        C. 38101H        D. 38102H
题目答案:B
你的答案:B
题目分析:
    执行指令PUSH AX应先使SP-2SP,然后把AX的内容存放入(SP)及(SP+1)单元。
SP' 00FEH 5BH
      00FFH 90H
SP 0100H
    所以,存放90H的单元物理地址为38000H+00FFH=380FFH
3题(1分)      你的得分:1
    将字变量BUF的内容送入SI寄存器的正确指令是【3】。
    A. MOV SI,BUF              B. MOV [SI],BUF
    C. MOV OFFSET BUF,SI        D. LEA SI,BUF
题目答案:A
你的答案:A
题目分析:
    B. 错误,该指令把存储单元的内容送到存储单元。 C. 错误,目的操作数为立即数。 D. 错误,该指令取BUF的偏移地址到SI寄存器中,而不是取其内容到SI寄存器中。
4题(1分)      你的得分:1
    指令 LODSB 操作数的段地址一定在【4】寄存器中。
    A. CS        B. DS        C. ES        D. SS
题目答案:B
你的答案:B
题目分析:
    指令 LODSB 操作数的段地址规定在DS寄存器中。
5题(1分)      你的得分:1
    指令MOV AX,ES:[BP]”中的源操作数在当前【5】中。
    A. 数据段      B. 附加段      C. 堆栈段      D. 代码段
题目答案:B
你的答案:B
6题(1分)      你的得分:0
    在执行PUSH [BX]指令寻源操作数时,段地址和偏移地址分别在【6】。
    A. DSBX      B. 无段地址和偏移地址      C. SSBX      D. SSBP
题目答案:A
你的答案:D
题目分析:
    PUSH [BX]指令的源操作数的寻址方式是基址寻址,由于使用BX寄存器,所以其操作数的段地址和偏移地址分别在DSBX中;而目的操作数为SS:SP所指的内存单元。
7题(1分)      你的得分:1
    下列关于堆栈的说法错误的是【7】。
    A. 先入后出为原则
    B. 栈区最高地址单元的前一个单元为栈底
    C. 运行中SP寄存器动态跟踪栈顶位置
    D. 压栈和弹出都是以字节为单位
题目答案:D
你的答案:D
8题(1分)      你的得分:1
    已知AL中存放着一个压缩BCD码,为实现AL1操作,应选用【8】指令序列。
    A. DEC AL        B. SBB AL,0        C. SUB AL,1        D. SUB AL,1
      AAS              DAS                AAS                DAS
题目答案:D
你的答案:D
9题(1分)      你的得分:1
    执行【9】指令后,就能用条件转移指令判断ALBL寄存器中的最高位是否相同。
    A. TEST AL,BL        B. CMP AL,BL
    C. AND  AL,BL        D. XOR AL,BL
题目答案:D
你的答案:D
题目分析:
    判断最高位是否相同可以使用3 dXOR指令(相同时XOR运算后最高位为0;否则为1),该指令执行后再用检测符号位的条件转移指令实现判断最高位是否相同。
10题(1分)      你的得分:1
    AX3A6FHCL4。若要AX0F3A6H,应执行指令【10】。
    A. SHR AX,CL      B. ROR AX,CL      C. RCR AX,CL      D. SAR AX,CL
题目答案:B
你的答案:B
11题(1分)      你的得分:0
    DX:AX组成的双字右移一位,可以下面【11】指令。
    A. SHR DX,1            B. RCR AX,1
      SHR AX,1              RCR DX,A
    C. SHR DX,1            D. RCR DX,1
      RCR AX,1              SHR AX,1
题目答案:C
你的答案:A
题目分析:
    A. 错误,DX的最低位不能被移入AX中。  B. 错误,AXDX在移位时会互相移入。D. 错误,DX循环移位,而AX不能把DX移出的位移入AX
12题(1分)      你的得分:1
    OR指令用于【12】。
    A. 取一个数中的某一位        B. 置一个数中的某些位为1
    C. 将一个数置为0            D. 取一个数中的某些位
题目答案:B
你的答案:B
13题(1分)      你的得分:1
    DL=55H,执行指令后能使DL中的数据为OAAH的指令是【13】。
    A. TEST DL,OAAH        B. OR DL,OAAH
    C. NEG DL              D. XOR DL,OFFH
题目答案:D
你的答案:D
14题(2分)      你的得分:2
    若要完成(AX)×7/2运算,则在下列四条指令之后添加【14】指令。
MOV BX,AX
MOV CL3
SAL AXCL
SUB AXBX
    A. ROR AX,1      B. SAL AX,1      C. SAR AX,1      D. DIV AX,2
题目答案:C
你的答案:C
题目分析:
MOV BX,AX;保护AX的内容
MOV CL,3 CL3
SAL AX,CL AX左移3
SUB AX,BX 将已经左移了3位的AX减去原来的AX,因为7=2^3-1AX左移三位相当于乘了2^3,再减去原来的AX,就相当于完成了原AX乘以7的操作,因此下面一步就应当完成除以2的功能。在二进制的计算机数运算中,除以2的操作可以通过将操作数右移一位完成,算术移位操作的指令SAR即是,因此选项C正确。
15题(1分)      你的得分:1
    AX=-15要得到AX=15应执行的指令是【15】。
    A. NEG AX              B. OR AX,8000H
    C. AND AX,7FFFH        D. XOR AX,8000H
题目答案:A
你的答案:A
16题(1分)      你的得分:1
    CL8AL=80H,执行SAR AL,CL后,AL中的数据是【16】。
    A. 0FFH        B. 80H        C. 00H        D. 0FEH
题目答案:A
你的答案:A
题目分析:
    CL8AL=80H,执行SAR AL,CL后,AL中的数据是:
右移1位后:1100 0000
右移1位后:1110 0000
右移1位后:1111 0000
右移1位后:1111 1000
右移1位后:1111 1100
右移1位后:1111 1110
右移1位后:1111 1111
右移1位后:1111 1111
    注意SAR AL,CL指令为算术右移指令,其符号位在移动过程中保持不变且进行右移。