group formatting
[libreriscv.git] / openpower / isa / bcd.mdwn
1 # Convert Declets To Binary Coded Decimal
2
3 * cdtbcd RA, RS
4
5 do i = 0 to 1
6 n <- i * 32
7 RA[n+0:n+7] <- 0
8 RA[n+8:n+19 ] <- DPD_TO_BCD( (RS)[n+12:n+21] )
9 RA[n+20:n+31] <- DPD_TO_BCD( (RS)[n+22:n+31] )
10
11 # Add and Generate Sixes
12
13 * addg6s RT,RA,RB
14
15 do i = 0 to 15
16 dci <- carry_out(RA[4xi:63] + RB[4xi:63])
17 c <- [dc[0]]*4 || [dc[1]]*4 || ... || [dc[15]]*4
18 RT <- (¬c) & 0x6666_6666_6666_6666
19
20 # Convert Binary Coded Decimal To Declets
21
22 * cbcdtd RA, RS
23
24 do i = 0 to 1
25 n <- i * 32
26 RA[n+0:n+11] <- 0
27 RA[n+12:n+21] <- BCD_TO_DPD( (RS)[n+8:n+19] )
28 RA[n+22:n+31] <- BCD_TO_DPD( (RS)[n+20:n+31] )