Changes
Page history
Update RISCVISA
authored
Oct 25, 2018
by
Toru Koizumi
Show whitespace changes
Inline
Side-by-side
RISCVISA.md
View page @
76c2c382
...
...
@@ -218,7 +218,7 @@ rs1番のレジスタとrs2番のレジスタの値を読み出し、その商
### REM, REMU
rs1番のレジスタとrs2番のレジスタの値を読み出し、その剰余をrd番のレジスタに書き込みます。
`REM`
命令の場合は
`rs1`
と
`rs2`
は符号付き整数であると解釈して計算します。結果は符号付き整数として求めます。
`REMU`
命令の場合は
`rs1`
と
`rs2`
は符号なし整数であると解釈して計算します。結果は符号なし整数として求めます。ただし、
`REM`
の場合、求めるべき商は、数学的な剰余ではなく、符号が被除数と同じ剰余です(
`rs1`
と
`rs2`
の絶対値をとってから剰余を計算した後、
`rs1`
と同じ符号にすればよいです)。
`REM`
命令の場合は
`rs1`
と
`rs2`
は符号付き整数であると解釈して計算します。結果は符号付き整数として求めます。
`REMU`
命令の場合は
`rs1`
と
`rs2`
は符号なし整数であると解釈して計算します。結果は符号なし整数として求めます。ただし、
`REM`
の場合、求めるべき商は、数学的な剰余ではなく、符号が被除数と同じ剰余です(
`rs1`
と
`rs2`
の絶対値をとってから剰余を計算した後、
`rs1`
と同じ符号にすればよいです)。
別の言い方をすると、
`rs1 == rs2 * div(rs1,rs2) + rem(rs1,rs2)`
が成立するように剰余を求めます。
剰余演算の結果が定義されていない場合の挙動は以下の通りです。
...
...
...
...