简答题

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

答案解析

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

    单选题查看答案

  • 一个双字长有符号数存放在DX(高位)AX(低位)中,写出求该数相反数的指令序列。结果仍存入DX,AX寄存器

    简答题查看答案

  • 一个双字长有符号数存放在DX(高位)AX(低位)中,写出求该数相反数的指令序列。 结果仍存入DX,AX寄存器

    简答题查看答案

  • 寄存器BX和DX中存放有32位二进制数,其中BX中放高16位,下列程序段完成对这32位数扩大4倍的功能,那么该程序段中方框里应填的语句是()。

    单选题查看答案

  • 利用移位指令编写程序段,实现以下运算。 (1)计算AX←AX*10,其中AX为无符号数; (2)32位带符号数存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位计算(DX,AX)←(DX,AX)*2。 (3)32位带符号数存放在寄存器DX和AX中,其中DX存放高16位,AX存放低16位计算(DX,AX)←(DX,AX)/2。

    简答题查看答案

  • 假如在程序的括号中分别填入指令: (1)LOOP L20 (2)LOOPNE L20 (3)LOOPE L20 试说明在三种情况下,当程序执行完后,AX、BX、CX、DX四个寄存器的内容分别是什么? BEGIN:MOV AX,01 MOV BX,02 MOV DX,03 MOV CX,04 L20:INC AX ADD BX,AX SHR DX,1 ()

    简答题查看答案

  • 寄存器DX:AX组成32位数,DX为高位,编写程序段实现: (1)DX:AX右移3位,并将移出的低3位保存在CL中; (2)DX:AX左移3位,并将移出的高3位保存在CL中。

    简答题查看答案

  • 试按要求编制程序段:由寄存器AX,BX组成一个32位带符号数(AX中存放高十六位),试求这个数的负数。

    简答题查看答案

  • 设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。

    简答题查看答案