shl¶
shl R¶
指令格式¶
shl R
影响标志¶
无
伪代码描述¶
1 | R = (R << 1) & 0xff;  | 
指令描述¶
寄存器R内容左移1位,结果存储到寄存器R中。
指令执行前:
     R.7  R.6  R.5  R.4  R.3  R.2  R.1  R.0
    +----+----+----+----+----+----+----+----+
<---| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |<---0
    +----+----+----+----+----+----+----+----+
指令执行后:
     R.7  R.6  R.5  R.4  R.3  R.2  R.1  R.0
    +----+----+----+----+----+----+----+----+
    | b6 | b5 | b4 | b3 | b2 | b1 | b0 |  0 |
    +----+----+----+----+----+----+----+----+
shl A, R¶
指令格式¶
shl A, R
影响标志¶
无
伪代码描述¶
1 | A = (R << 1) & 0xff;  | 
指令描述¶
寄存器R内容左移1位,结果存储到累加器A中。
指令执行前:
     R.7  R.6  R.5  R.4  R.3  R.2  R.1  R.0
    +----+----+----+----+----+----+----+----+
<---| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |<---0
    +----+----+----+----+----+----+----+----+
指令执行后:
     A.7  A.6  A.5  A.4  A.3  A.2  A.1  A.0
    +----+----+----+----+----+----+----+----+
    | b6 | b5 | b4 | b3 | b2 | b1 | b0 |  0 |
    +----+----+----+----+----+----+----+----+
范例¶
1 2 3 4  | //0x23 << 1 mov A, #0x23 //A = 0x23 mov 0x92, A //[0x92] = 0x23 shl A, 0x92 //A = 0x46  |