写出对存放在DX和AX中的双字长数求补的指令序列。

题目

写出对存放在DX和AX中的双字长数求补的指令序列。

参考答案和解析
正确答案: NEG DX也可为:NOT DX
NEG AXNOT AX
SBB DX,0 ADD AX,1
ADC DX,0
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列指令中有语法错误的是

A.SHL AX,CL

B.MOV AX,[DX]

C.OUT DX,AL

D.MOVE AX,[EDX]


正确答案:B
解析:该题考查考生对寄存器的理解。BX基址寄存器除可作数据寄存器外,还可放内存的逻辑偏移地址,而AX,CX,DX则不能, DX数据寄存器除可作通用数据寄存器外,还在乘、除法运算,以及带符号数的扩展指令中有特殊用途,所以选项B是错误的,其他三个选项都是正确的,所以应该选择B。

第2题:

为了将AL寄存器中的组合(PackeD) BCD码45H转换为两个非组合(UnpackeD) BCD码04H和05H,并分别存放在AH和AL寄存器中,应在下面的指令序列的横线处填写什么指令?

MOV AX,45H

MOV CL,4

______ AX,CL

SHR AL,CL


正确答案:SHL
SHL

第3题:

执行下列指令序列后,完成的功能是将(DX,AX)的值______。

MOV CL,04

SHL DX,CL

MOV BL,AH

SHL AX,CL

SHR BL,CL

OR DL,BL


正确答案:左移四位
左移四位 解析:这是一种常用的多位数移位的方法。也可以采用厂面的方法将(DX,AX)右移四位
          MOV  CX,04
   NEXT: SHR  DX,1
          RCR  AX,1
          LOOP  NEXT

第4题:

指令DIV BX执行后,商和余数分别在寄存器()中。

  • A、AX和DX
  • B、DX和BX
  • C、DX和AX
  • D、AL和AH

正确答案:A

第5题:

编写指令序列,将AX和BX中较大的绝对值存入AX,较小的绝对值存入BX。


正确答案: AND AX,AX
JGE SKIP1
NEG AX
SKIP1:AND BX,BX
JGE SKIP2
NEG BX
SKIP2:CMP AX,BX
JGE SKIP3
XCHG AX,BX
SKIP3:……

第6题:

下列指令中,不正确的指令是( )。

Ⅰ MOV AX,BX

Ⅱ ADD AX,CL

Ⅲ MOV 2000H,CX

Ⅳ MOV AX.[DX]

A.Ⅲ

B.Ⅱ、Ⅲ和 Ⅳ

C.Ⅱ和Ⅲ

D.Ⅰ、Ⅱ、Ⅲ、Ⅳ


正确答案:B

第7题:

变量DATAX和变量DATAY的定义如下: DATAXDW 0148H DW 2316H DATAYDW 0237H DW 4052H请按下列要求写出指令序列: DATAX和DATAY两个字数据相加,和存放在DATAY中。


正确答案: MOV AX,DATAX
ADD DATAY,AX
MOV AX,DATAX+2
ADD DATAY+2,AX

第8题:

对于乘法、除法指令,其目的操作数存放在【 】或DX,AX中,而其源操作数可以用除64以外的任一种寻址方式。


正确答案:AX
AX

第9题:

试编写一程序求出双字长数的绝对值。双字长数在A和A+2单元中,结果存放在B和B+2单元中。


正确答案: 程序段如下:
MOV AX,A
MOV DX,A+2
CMP DX,0
JNS ZHENSHU;不是负数则转走
NEG DX
NEG AX
SBB DX,0
ZHENSHU:MOV B,AX
MOV B+2,DX
INT 20H

第10题:

假设一个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

更多相关问题