首页学历类考试大学计算机科学
(简答题)

移位指令和循环移位指令在执行操作时,有什么差别?在编制乘除法程序中,为什么常用移位指令来代替乘除法指令?试编制一个程序段,实现CX中的数除以4,结果仍放在CX中。 

正确答案

逻辑移位指令用于无符号数的移位,左移时,最低位补0,右移时,最高位补0。
算术移位指令用于对带符号数的移位,左移时,最低位补0,右移时,最高位的符号在右移的同时,且保持。
小循环移位指令ROL、ROR是只对目标操作数进行循环,即不含CF的左、右移循环移位。
大循环移位指令RCL、RCR是把标志位CF也包含在循环中的左、右移循环移位。 
对于二进制数,左移一位相当于乘二,右移一位相当于除二,所以可以用移位指令来代替乘除法指令。
SAR  CX,1;CX算术右移一位,除二
SAR  CX,1;CX算术右移一位,除二

答案解析

相似试题

  • (单选题)

    非循环逻辑移位指令在执行时,实际上是把操作数看成()符号数来进行移位。

    答案解析

  • (单选题)

    非循环算术移位指令在执行时,实际上是把操作数看成()符号数来进行移位。

    答案解析

  • (填空题)

    循环移位指令不影响除()和()以外的其他条件标志。

    答案解析

  • (单选题)

    带符号数乘以2操作用()移位指令实现。

    答案解析

  • (填空题)

    所有移位指令都可以作()或()操作。

    答案解析

  • (判断题)

    所有移位指令都可以作字或字节操作。

    答案解析

  • (填空题)

    当()条件满足时,LOOPNE指令执行循环操作。

    答案解析

  • (单选题)

    在移位类指令中,只有()指令不仅仅是在空缺位补零。

    答案解析

  • (填空题)

    算术移位指令适用于()运算;而逻辑移位指令则用于()运算。

    答案解析

快考试在线搜题