# bitシフト
Note: サイクル数はマシンサイクル単位です。## RL r8
r8の各bitとキャリー(C)を左に1だけ回転させる
C <- [7 <- 0] <- C
サイクル: 2
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前のr8のbit7
## RL [HL]
HLが指すメモリアドレスの値の各bitと、キャリー(C)を左に1だけ回転させる
C <- [7 <- 0] <- C
サイクル: 4
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前の[HL]のbit7
## RLA
Aレジスタの各bitとキャリー(C)を左に1だけ回転させる
C <- [7 <- 0] <- C
サイクル: 1
バイト長: 1
フラグ:
Z: 0
N: 0
H: 0
C: 回転前のAレジスタのbit7
## RLC r8
r8の各bitを左に1だけ回転させる
溢れたbitはキャリーフラグに格納される
C <- [7 <- 0] <- [7]
サイクル: 2
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前のr8のbit7
## RLC [HL]
HLが指すメモリアドレスの値の各bitを左に1だけ回転させる
溢れたbitはキャリーフラグに格納される
C <- [7 <- 0] <- [7]
サイクル: 4
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前の[HL]のbit7
## RLCA
Aレジスタの各bitを左に1だけ回転させる
溢れたbitはキャリーフラグに格納される
C <- [7 <- 0] <- [7]
サイクル: 1
バイト長: 1
フラグ:
Z: 0
N: 0
H: 0
C: 回転前のAレジスタのbit7
## RR r8
r8の各bitとキャリー(C)を右に1だけ回転させる
C -> [7 -> 0] -> C
サイクル: 2
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前のr8のbit0
## RR [HL]
HLが指すメモリアドレスの値の各bitと、キャリー(C)を右に1だけ回転させる
C -> [7 -> 0] -> C
サイクル: 4
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前の[HL]のbit0
## RRA
Aレジスタの各bitとキャリー(C)を右に1だけ回転させる
C -> [7 -> 0] -> C
サイクル: 1
バイト長: 1
フラグ:
Z: 0
N: 0
H: 0
C: 回転前のAレジスタのbit0
## RRC r8
r8の各bitを右に1だけ回転させる
溢れたbitはキャリーフラグに格納される
[0] -> [7 -> 0] -> C
サイクル: 2
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前のr8のbit0
## RRC [HL]
HLが指すメモリアドレスの値の各bitを右に1だけ回転させる
溢れたbitはキャリーフラグに格納される
[0] -> [7 -> 0] -> C
サイクル: 4
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前の[HL]のbit0
## RRCA
Aレジスタの各bitを右に1だけ回転させる
溢れたbitはキャリーフラグに格納される
[0] -> [7 -> 0] -> C
サイクル: 1
バイト長: 1
フラグ:
Z: 0
N: 0
H: 0
C: 回転前のAレジスタのbit0
## SLA r8
r8を左に1だけ算術シフトさせる
溢れたbitはキャリーに格納される
C <- [7 <- 0] <- 0
サイクル: 2
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前のr8のbit7
## SLA [HL]
HLが指すメモリアドレスの値を左に1だけ算術シフトさせる
溢れたbitはキャリーに格納される
C <- [7 <- 0] <- 0
サイクル: 4
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前の[HL]のbit7
## SRA r8
r8を右に1だけ算術シフトさせる
溢れたbitはキャリーに格納される
[7] -> [7 -> 0] -> C
サイクル: 2
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前のr8のbit0
## SRA [HL]
HLが指すメモリアドレスの値を右に1だけ算術シフトさせる
溢れたbitはキャリーに格納される
[7] -> [7 -> 0] -> C
サイクル: 4
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前の[HL]のbit0
## SRL r8
r8を右に1だけ論理シフトさせる
溢れたbitはキャリーに格納される
0 -> [7 -> 0] -> C
サイクル: 2
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前のr8のbit0
## SRL [HL]
HLが指すメモリアドレスの値を右に1だけ論理シフトさせる
溢れたbitはキャリーに格納される
0 -> [7 -> 0] -> C
サイクル: 4
バイト長: 2
フラグ:
Z: 結果が0ならセット
N: 0
H: 0
C: 回転前の[HL]のbit0