INR和DCR都是单字节指令,它们可以影响除CF(Carry Flag)之外的所有标志位。
8080还包括4个循环移位(Rotate)指令,这些指令可以把累加器中的内容向左或向右移动1位,它们的具体功能如下。
这些指令只对进位标志位CF有影响。
假设累加器中存放的数是A7h,即二进制的10100111。RLC指令使其每一位都向左移一位。最终的结果是,最低位(左端为低位,右端为高位)移出顶端移至尾部成为最高位,这条指令也会影响CF的状态。在这个例子中CF置1,最后的结果为01001111。RRC指令以同样的方式进行右移位操作。如果移位之前的数是10100111,执行RRC之后将变为11010011,同时CF置1。
较之 RLC 和 RRC,RAL 和 RAR 指令的工作方式稍有不同。执行 RAL指令时,累加器中的数仍然按位左移,把CF中原来的值移至累加器中数值的最后一位,同时把累加器中数据的原最高位移至CF。例如,假设累加器中移位之前的数是10100111且CF为0,执行RAL指令后,累加器中的数变为01001110而CF变为1。类似的,如果执行的是RAR指令,累加器中的数变为01010011而CF变为1。
编码—隐匿在计算机软硬件背后的语言
290