实现将DX:AX中存放的32位数扩大四倍,正确的程序段是()。

题目

实现将DX:AX中存放的32位数扩大四倍,正确的程序段是()。

  • A、SHL AX,2 ROL DX,2
  • B、RCL AX,2 SHL DX,2
  • C、MOV CX,2 LOP:SHL AX,1 RCL DX,1 LOOP LOP
  • D、SHL AX,1 SHL AX,1 RCL DX,1 RCL DX,1
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

实现将DX:AX中存放的32位数扩大四倍,正确的程序段是()

A、SHLAX,2ROLDX,2

B、RCLAX,2SHLDX,2

C、MOVCX,2LOP:SHLAX,1RCLDX,1LOOPLOP

D、SHLAX,1SHLAX,1RCLDX,1RCLDX,1


参考答案:C

第2题:

执行下面的程序段 MOV SP,2000H MOV Ax,OFOH MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT 之后,DH内容所在程序段的偏移地址是( )

A.1FFFH

B.1FFEH

C.1FFDH

D.1FFCH


正确答案:A
解析:一个字在寄存器中存储时低字节在前,高字节在后;在堆栈中存储时,高字节在高地址,低字节在低地址,即高字节在下,低字节在上;每次入栈操作SP-2,每次出栈操作SP+2。在本题中,经过PUSHSI后,SP=IFFEH,而又执行POPDI后,SP=2000H,所以最后执行PUSHDX后,SP=1FFEH,这时SP指向DL所在的偏移地址,而DH的偏移地址是1FFFH。

第3题:

完成下面的程序段,使程序显示中的字符串。

DATA SEGMENT

BUE DB ‘HOW DO YOU DO?’,ODH,OAH,’$‘

DATA ENDS

CODE SEGMENT

MOV AX,DATA

MOV DS,AX

MOV DX【 】

MOV AH, 9

INT 21H

CODE ENDS


正确答案:OFFSET BUF
OFFSET BUF 解析:把BUF的偏移地址放到中,准备显示。

第4题:

阅读下列程序段,假定AX=-110,CX=+8,执行该程序后,问AX,DX分别是多少? MOV   AX,-110  MOV   CX,8  CWD     IDIV   CX


正确答案:AX=-13(商),DX=-6(余数)

第5题:

执行完下列程序段后,AX=() MOV DX,8F70H MOV AX,54EAH OR AX,DX AND AX,DX NOT AX XOR AX,DX ROR AX, 1

  • A、0FFFF0H
  • B、0FFFFH
  • C、0000H
  • D、0001H

正确答案:B

第6题:

实现将DX:AX中存放的32位数扩大4倍,正确的程序段是( )

A.SHL AX,2 ROL DX,2

B.RCL AX,2 SHL DX,2

C.MOV CX,2 LOP:SHL AX,1 RCL DX,1 LOOP LOP

D.SHL AX,1 SHL AX,1 RCL DX,1 RCL DX,1


正确答案:C
解析:在使用移位指令对32位数进行扩大或缩小倍数操作时,一定要注意它的CF位,如果不考虑它的CF位,操作后的结果可能就是错误的。所以在本题中,要对一个32位数扩大4倍,即对32位数向左移2位。在移低字的时候用SAL或SHL命令都可以,但对低字操作后紧接着一定要对高字操作,这样才能保证CF的位不被落下。对高字操作时一定要使用RCL带进位循环左移。根据这些方面所以选项C的程序段是正确的。

第7题:

分析下列程序段: MOV AX,OA33AH MOV DX,OFOFOH AND AH,DL XOR AL,DH NEG AH NOT AL 执行上述指令段后,AH=(),AL=()


正确答案:60H;35H

第8题:

假设(AX)=73H,(DX)=85H,执行下列程序段后(AX)=【 】。

MOV AX, DX

NOT AX

ADD AX, DX

INC AX


正确答案:×
0

第9题:

假设一个48位数存放在DX:AX:BX中,试编写程序段,将该48位数乘以2。


正确答案: 可使用移位指令来实现。首先将BX内容逻辑左移一位,其最高位移入进位位CF,之后AX内容带进位位循环左移,使AX的最高位移入CF,而原CF中的内容(即BX的最高位)移入AX的最低位,最后再将DX内容带进位位循环左移一位,从而实现AX的最低位移入DX的最低位。
S.HLBX,1
R.CLAX,1
R.CLDX,1

第10题:

下列程序段完成什么功能? MOV  CL, 04  SHL  DX,CL  MOV  BX,AH  SHL  AX,CL  SHR  BL,CL  OR   DL,BL


正确答案:把DX和AX中的双字长数乘16,即把32位字左移4位。

更多相关问题